jQuery2.1.1源码分析一

用了2周,把jquery2.1.1版本的源码读了一遍,像得了感冒,头疼、恶心、没精神。。。

涉及javaScript基本知识点:

      工厂模式、闭包、正则表达式、引用类型(function、regExp、string、array)、块级作用域、

      DOM API、原型、数据基本类型、操作符(尤其布尔操作符)、函数(尤其是重载)

     边看源码边读JavaScript高级程序设计,发现自己的基础又忘记差不多了。。

涉及标准或设计模式:

    Promise/A、HTML4.01 HTML5、Selectors API Level 1、Selectors Level3

涉及开源项目:

    Sizzle JavaScript Selector Library

涉及模块化编程

    CommonJs、AMD、CMD

整体上来看,外层为一个自调用匿名函数(function(xx,xx){...}(xx,xx));内层为工厂模式,而jQuery多个模块也使用了工厂模式进行封装

关于jQuery模块,主要包括以下几个模块

      核心(init、extend)、Data、Callbacks、Deferred、Ajax、事件、Animation、Sizzle

jQuery充分利用了javaScript松散的语言特性。例如,Callbacks模块中,stack = !option.once && [],这个stack可能是布尔值或数组,

在fire方法中,根据其数据类型不同,进行不同的操作。

但是,各位大神所说的精妙只在读个别代码时,有所感觉。

总体来说,对jquery源码理解还不够深入,对各位大神说的抽象思维真真是没做到。

接下来,根据jquery书籍和网上资料,不断的去细读、精读源码,达到第一个小目标。

 

第二遍感受

js基础知识运用灵活,小技巧特别多;

浏览器兼容性问题,集中解决,只是在某些模块零散分布;

抽象思维非常强,逻辑严谨,少量代码,实现大量功能;

目前使用jQuery解决业务的水平,处于及格水平,看了源码,认为jQuery提供了很多其他的更高级、更优雅得解决业务问题的思路和方法;

梳理了知识结构,扩充技术知识面(正则表达式、ES5API、XSS),深入底层技术;

jquery源码分析笔记和示例地址https://github.com/respectable2007/jquery-source-code-explanation

转载于:https://www.cnblogs.com/respect2017/p/9828735.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JQuery2.0的发布,流行的jQuery JavaScript库到了一个重要里程碑。2.0版本比前任版本在大小上缩减了12%,但是更大的新闻是,jQuery 2.0不在对IE6,7,8三个版本进行支持。七年前jQuery的诞生,开始让开发者更简单的操作HTML和编写JavaScriptjQuery的跨浏览器特性,更是很快受到了广大开发者的青睐。根据去年的一项调查显示,粗略估计,网络上一半的站点都在使用jQuery。 停止对旧版IE的支持,是否会改变jQuery的使用率?答案也许是不会。如果你的网站需要维护对IE8或者低版本(或者是IE9和IE10在兼容模式下运行),你只需要沿用jQuery1.9或者以下版本。 如 果你想要同时兼容新旧版浏览器,你可以使用条件注释,让2.0在新浏览器上使用,而旧版本使用1.9,但是更简单的方法则是沿用 jQuery1.x版本。至少目前2.0的主要用例,对IE的支持是不再考虑范围内了,而是Chrome或者firefox的附加组件,PhoneGap 应用程序或是node.js jQuery 团队在官博中再次提醒用户,jQuery 2.0 不再支持IE 6/7/8 了,但是 jQuery 1.9 会继续支持。因为旧版 IE 浏览器在整个互联网中还有很大部分市场,所以他们非常期望大部分网站能继续使用 jQuery 1.x 一段时间。jQuery 团队也将同时支持 jQuery 1.x 和 2.x 。1.9 和 2.0 版的 API 是相同的,所以不必因为你们网站还在用 jQuery 1.9,就感觉好像错过了什么,或者是落后了。 如果你想继续支持 IE 6/7/8,并且又想尝试 jQuery 2.0,那你可以额外加上一些代码。除了老版的 IE,其他所有浏览器都将使用第二脚本,忽略第一个。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值