首页 > Web开发 > 详细

jquery-2.1.4 源码解读(1):jquery架构

时间:2015-12-08 00:00:48      阅读:643      评论:0      收藏:0      [点我收藏+]

本人在研究jquery源码的过程中将同时记录下研究过程,此文将分阶段研究jquery源码,先是jquery的总体架构,然后是内部实现细节。

jquery总体结构为:

(function(global, factory){
    ...  //代码1
}(参数1, 参数2));

此处定义了匿名函数,然后传入参数1和参数2,立即执行。

代码1处为匿名函数的内部定义,其中会判断是否处于commonJS环境,否则的话将执行fanctory(global);

参数1为typeof window !== "undefined" ? window : this,如果window!==undefined则global=window,参数2处为jquery的主体部分,全局window将作为参数传递给参数2处定义的函数,参数2定义的函数末尾处将jquery赋值为全局window的属性,window.jQuery = window.$ = jQuery; 因此能够在全局环境下直接访问jquery。

fanctory(global)执行完毕后,即jquery源码被加载并执行完毕后,内存中的JS对象结构如下:

技术分享

上图的箭头表示了引用关系,如jquery.extend和jquery.fn.extend引用了同一个函数对象,jquery.fn和jquery.prototype引用了同一个函数对象。

jquery.fn 和 jquery.prototype指向了同一个原型对象,fn的作用在于将jquery.prototype简写。

jquery-2.1.4 源码解读(1):jquery架构

原文:http://www.cnblogs.com/songych/p/5027709.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!