jQuery总体架构的理解

jQuery脚本总体结构来说,有如下形式:

 { // Define a local copy of jQueryvar jQuery = function( selector, context ) 
 { // The jQuery object is actually just the init constructor 'enhanced' return new jQuery.fn.init( selector, context ); },
 // Expose jQuery to the global object
window.jQuery = window.$ = jQuery; })(window); 

对这样的结构不很理解,也没做深究,只知道和和所谓的

Technorati 标签: , ,
js闭包的概念相关,今天查了一些资料,有了些基本的理解。

实际是定义了一个全局函数,前一个括号为一个匿名函数,后面为函数的调用。可以这样理解:

fun(window);

http://streamlet77.javaeye.com/blog/914305的解释可以比较好的说明: 

整个脚本是一个匿名函数(暂时叫它mainFn吧),函数被加载的时候便开始执行,mainFn可以接收两个参数,执行时只传递一个参数window.

   1. 具体解释下这个写法的意思:
   2.   window     函数执行时会传入window,这个传入的window是全局对象(通常为Window)的
   3.              一个属性且window=this,而传入mainFn函数中作为其参数时,它会被存储在
   4.              mainFn的调用对象中.在原型链中查找变量的策略是(非嵌套函数):先查找调用
   5.              对象,再查找全局对象,所以这使得整个mainFn中使用的window时查找效率更高
   6.   undefined  由于执行时并未传递第二个参数,故变量undefined的值为undefined.早期版
   7.              本的浏览器中全局对象可能没有undefined属性,所以不能直接使用它.通常避免
   8.              这个问题的写法是 window.undefined = window.undefined 

 

然后在最后让jQuery库中最重要的对象jQuery成为了window对象的一个属性,并可以简写为“$”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值