原生 JS 代码和用 jQuery 实现效果各有什么优劣势

通过自己的理解再加上自己收集的一些资料总结如下:
  • 各種封裝,主要目的就是爲了省心,拿jq來說
    • JQ对不同浏览器的事件,DOM对象,都进行了封装,各种操作都可以直接兼容各种浏览器, 要知道, 不同浏览器的区别不仅仅是在CSS里写"-webkit-"还是"filter"的区别, 连事件模型这种底层的东西都不一样= =
    • JQ特有的CSS-LIKE选择器, 链式写法, 封装的各类animate函数, 封装了的异步加载, 都大幅提高了开发效率, 减少重复劳动
    • JQ用delay和一系列的函数封装了AJAX操作, 这个功能目测还在不断改进和完善. 反正是比JS省心就是了.
  • 其他就是有些常用函数JQ有所以不用自己写了,你比如浏览器检测...
  • 插件不断丰富, 资料丰富 等等
当然,这样也导致了
    • JQ比原生JS慢上 10倍(chrome)~100倍(ie). 具体数忘了, 反正是这个数量级的...尤其是有些人喜欢滥用选择器和不用链式写法。
不使用框架的话可以根据自己的业务写自己的代码,更有针对性,没有多余的代码;缺点是如果经验不足的话代码的兼容性和扩展能力较差,代码抽象的层次较低,要想做好的话需要经验和大量的时间和精力,最后也许会形成自己的框架。

使用框架的优势是代码兼容性较好,扩展能力好,抽象层次高,开发效率高,不需要太多经验也可以上手;缺点是业务简单时框架里的大部分代码是无用的,框架掩盖了一些问题的本质,对新手积累经验无益。
时间: 2024-10-22 22:37:37

原生 JS 代码和用 jQuery 实现效果各有什么优劣势的相关文章

通过原生js的ajax或jquery的ajax获取服务器的时间

在实际的业务逻辑中,经常是与时间相关的,而前端能获得的时间有两个:客户端的时间,服务器的时间.客户端时间通过 javascript中的Date对象可以获取,如 Java代码   var dt = new Date(); var tm = dt.getTime(); 那么tm就是客户端的时间,另外也可以通过对应的getFullYear(),getMonth(),getDate()取到对应的年月日等...但这个时间可靠吗?好吧,那取服务器时间吧经常用到的是后台写一个php,jsp,cgi,asp..

原生js使用forEach()与jquery使用each遍历数组,return false 的区别

原生js使用forEach()与jquery使用each()遍历数组,return false 的区别: 1.使用each()遍历数组a,如下: var a=[20,21,22,23,24]; $.each(a, function(index,val) { console.log('index='+index); if(index==2){ return false; } console.log('val='+val); }); 结果如下: 从运行的效果可以看出,return 相当于循环中的br

利用原生JS实现网页1920banner图滚动效果

内容描述:随着PC设备硬件性能的进步和分辨率的不断提高,现在主流网站逐渐开始采用1920banner图,为适应这一趋势,博主设计了1920banner图的滚动效果,代码利用了原生JS实现了1920banner图的切换效果,并针对低分辨率电脑设备进行了适配,实现了JS代码与HTML代码的完全分离,符合w3c的标准使用规范,希望能给各位开发者朋友以帮助和参考.如发现有缺陷和不足,欢迎大家予以指正,如有更好的意见或解决方法,可在评论区交流互动.一下为代码内容: <!DOCTYPE html> <

原生JS的使用,包括jquery和原生JS获取节点、jquery和原生JS修改属性的比较

一.前言 相比于JS这条直达终点.满是荆棘的小路,jquery无疑是康庄大道了,足够的简洁.易用给了它辉煌的地位.然而,毕竟是绕着道的插件,当小路走着走着变成大路的时候,曾经的大路也就失去了他自身的优势了. 原生JS虽然没有jquery那么的好用.便捷,或者说没有jquery那样让我们使用的如此顺手,甚至是无法舍弃的依赖.可是我们依然不得不扔掉手中这根陪伴我们多年的拐杖,我们不是瘸子,我们不曾腐朽,我们还可以独立前行. 二.正文 1. jquery和原生JS获取节点的比较 //这是HTML代码,

原生js点击轮播图效果

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script> <title>原生js轮播效果</title&g

如何将Js代码封装成Jquery插件

很多相同的Jquery代码会在很多页面使用,每次都复制粘贴太麻烦了,不如封装成一个Jquery插件就方便了,至于影响网页的速度不,我就没有测试了哈. 代码如下 这是一个自定闪烁打印文字的Jquery特效 HTML代码如下: <div id="code"> <p>/**</p> <p>*2014-2-12</p> <p>*代码自动闪烁输入</p> <p>*/</p> 2014-2-

原生js代码水平导航栏效果

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>实践题 - 选项卡</title> <style type="text/css"> /* 标签和文本结合区域效果制作: 1.用ul做分类标签 2.把ul的display定义为block使ul区域和下面div区域结合在一起 3.

原生js实现仿window10系统日历效果

舞动的灵魂版js日历,完全采用js实现,故而实现了与语言无关,jsp.asp.net php asp均可使用.无论你是开发软件,还是网站,均是不可或缺的实用代码. 该日历主要实现了获取当前时间时分秒,年月日星期,动态生成选择年的select,月的select,然后根据你所选中的年月,显示该年月对应的这一个月的日期.点击上一个月,下一个月按钮,在下拉列表中显示对应的年月 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head

原生js实现 常见的jquery的功能

原生选择器   充分利用 bind(this)绑定 <div id="box"> <ul> <li >111 </li> <li class="lione">2222</li> <li class="lione">3333</li> </ul> </div> <div id="box2"> <