咱们到底需不须要 jQuery?

曾经,在那个 IE6 仍是主流浏览器的时代,为了实现稍微复杂一点的功能,也须要不少代码。若是要作到兼容主流浏览器,更需大费周章。当 jQuery 出现后,使用 jQuery 实现一样的功能,咱们只需写不多的代码,而且兼容主流浏览器。因而,大部分网站都会使用 jQuery。
时过境迁,咱们到底需不须要 jQuery 呢?
认为不须要 jQuery 的理由以下:
IE7 及更低版本的浏览器的市场份额已经低到忽略的地步。而用 IE8 及更高版本的浏览器的原生 API 来实现 jQuery 提供的功能并非很麻烦。好比:javascript

/* 选取元素 */
// IE8+
document.querySelectorAll(选择器); // jQuery
$(选择器); /* Ajax */
// IE8+
var request = new XMLHttpRequest(); request.open('GET', '/my/url', true); request.onreadystatechange = function() { if (this.readyState === 4) { if (this.status >= 200 && this.status < 400) { // Success!
      var resp = this.responseText; } else { // Error :(
 } } }; request.send(); request = null; // jQuery
$.ajax({ type: 'GET', url: '/my/url', success: function(resp) { }, error: function() { } }); /* 绑定事件 */
// IE8+
function addEventListener(el, eventName, handler) { if (el.addEventListener) { el.addEventListener(eventName, handler); } else { el.attachEvent('on' + eventName, function(){ handler.call(el); }); } } addEventListener(el, eventName, handler); // jQuery
$(el).on(eventName, eventHandler);

 

用 jQuery 作页面的交互的作法是,当数据改变时,选择数据对应的 DOM,而后修改 DOM。若是 HTML 发生改变,如某元素的 id 改了, 而 jQuery 是经过 id 来找那元素的,那 jQuery 的代码也须要修改。并且,若是页面的数据与 DOM 的交互很复杂,用 jQuery 还满麻烦的。在这些状况下,用 MVVM 的框架是个不错的选择: MVVM 作页面的交互的作法是,在 HTML 中,设置好了 DOM 与数据的关系。当数据改变时,框架会更新 DOM。
认为须要 jQuery 的理由以下
jQuery 的有丰富的插件库。
很多现代的框架依赖 jQuery,如 Bootstrap 的 JS 插件,Ember,Meteor JS。若是要用那些框架,就不得不用 jQuery。
用 jQuery 比用原生的 API 好学,好用,强大,简洁, 还不须要考虑浏览器兼容性问题。
jQuery 的开发仍在继续中。而且与时俱进的增长了一些新特性。好比,jQuery 3 增长容许用 for... of 来遍历 jQuery 集合的 DOM 元素。如前端

var $inputs = $('input');
var i = 0;

for(var input of $inputs) {
   input.id = 'input-' + i++;
}前端学习裙:685910553

  

那么,咱们到底需不须要 jQuery 呢? 其实仍是要根据具体项目来定。对我来讲,对于通常的项目,我都会用 jQuery,毕竟 jQuery 大小不大,好比,jquery-3.0.0-beta1.min.js 在没 gzip 压缩前也就 86 KB。java

相关文章
相关标签/搜索