jQuery总体架构的理解

    技术2022-05-19  20

    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 标签: JQuery, Javascript, Web前端 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对象的一个属性,并可以简写为“$”。


    最新回复(0)