jQuery源码分析第一篇:jQuery的设计理念

jQuery的设计理念

  jQuery是继prototype之后又一个优秀的Javascript框架。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。

jQuery的设计理念就是:写更少的代码,做更多的事(简洁的API、优雅的链式、强大的查询与便捷的操作)。

简洁的API:

1 $.on
2 $.css
3 $.ajax
4 ...

优雅的链式:

1 var jq = $.ajax ("text.php")
2 .done (function(){alert("success");})
3 .fail (function(){alert("error")};)
4 .always (function() {alert("complete")});     

强大的选择器:

1 $("div, span, p.myClass")
2 $("div span:first-child")
3 $("tr: visible")
4 ...

便捷的操作:

1 $("p").removeClass("myClass noClass").addClass("yourClass");
2 $("ul li:last").addClass(function(index) {
3    return"item-" + index;
4 });
5 $('.container').append($('h2'));
6 ...

为什么要做jQuery的源码解析呢?

虽然jQuery的文档很完善,潜意识降低了前端开发的入门的门槛,要实现一个动画随手拈来,只要简单的调用一个animate方法传递几个执行的参数即可,但如果要我们自己实现一个定制的动画呢?我们要考虑的问题太多太多了,浏览器兼容、各种属性的获取、逻辑流程、性能等等,这些才是前端开发的基础核心。

后续... 

原文地址:https://www.cnblogs.com/wanghao123/p/9444000.html