码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-12-08 00:03:09      阅读:308      评论: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!