jQuery总体架构的知晓分析

jQuery脚本总体社团来说,有如下格局:

复制代码 代码如下:

(function( window, undefined ) {
// 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 objectwindow.jQuery =
window.$ = jQuery;
})(window);

本着这样的协会不死知,也尚无开探索,只知和同所谓的

Technorati 标签: JQuery,Javascript,Web前端

js闭包的定义相关,前日翻开了部分素材,有了数基本的亮。
骨子里是概念了一个大局函数,前一个括号为一个匿名函数,后边呢函数的调用。可以如此敞亮:

复制代码 代码如下:

var fun=function(window, undefined){
… …
}
fun(window);

方方面面脚论是一个匿名函数(暂时为其mainFn吧),函数被加载的时节便开实践,mainFn可以接两单参数,执行时就传递一个参数window.

  1. 实际讲下是写法的意思:
  2. window
    函数执行时谋面传出window,那么些流传的window是大局对象(日常也Window)的
  3. 一个特性且window=this,而流传mainFn函数中当其参数时,它会为积存于
    4.
    mainFn之调用对象中.在原型链中查找变量的国策是(非嵌套函数):先物色调用
    5.
    目的,再寻觅全局对象,所以这使得全mainFn中使用的window时追寻功效还胜
  4. undefined
    由于实施时没传递第二独参数,故变量undefined的价为undefined.早期版
    7.
    照的浏览器中全局对象可能没有undefined属性,所以未可知直接动用它.通常防止
  5. 以此题目标写法是 window.undefined = window.undefined

接下来于最后吃jQuery库中最为重点的靶子jQuery成为了window对象的一个性质,并可以简写为“$”。

外的加资料:
JQuery是独妙的javascript库,近年来整合其写javascript,看了下源码。
优先打总体、全局的禁闭,jQuery的源码几乎都当下面的代码中:

复制代码 代码如下:

(function() {

//……

})();

第一独括号内凡是个匿名函数,第二个括号表示登时行第一单括号里的代码。
率先知道,javascript里面凡是从未有过命名空间的,要管你的javascript函数、对象及任何的免闯,这里用了javascript的一个技术:你的备javascript函数、对象还当一个匿名函数里面定义,确保了所定义的函数、对象的行之有效限制,起及了命名空间的用意。既然效用范围在是匿名函数中,怎么受旁人采纳呢?下边看它的底代码:

var jQuery = window.jQuery = function(selector, context) {
//……
};

此间为jQuery库中可是要紧的目标jQuery成为了window对象的一个性能,这样虽好以任啥地方方比如用
document(document也是window的一个性质)一样使用jQuery了。也许下过jQuery的意中人惊叹-我未曾动用jQuery对象,一贯以$的。没错,这是jQuery的同名对象:

window.$ = jQuery;

前几日晓了吧。

夫库房的构造是这么的:

复制代码 代码如下:

  1. (function(window, undefined){
  2. var document = window.document;
  3. var jQuery = …
  4. })(window);

(function(window, undefined){ var document = window.document; var jQuery
= … … … })(window);

凡事脚论是一个匿名函数(暂时为其mainFn吧),函数被加载的时段便起首履行,mainFn可以接两单参数,执行时单传递一个参数window.

  1. 切实讲下这写法的意:
  2. window
    函数执行时相会流传window,这一个流传的window是大局对象(日常也Window)的
  3. 一个性且window=this,而流传mainFn函数中作该参数时,它会面为储存于
    4.
    mainFn底调用对象中.在原型链中查找变量的国策是(非嵌套函数):先找调用
    5.
    靶,再寻觅全局对象,所以立即令全mainFn中使的window时追寻效用还强
  4. undefined
    由于实施时并未传递第二独参数,故变量undefined的值也undefined.早期版
    7.
    依的浏览器中全局对象可能无undefined属性,所以不可能直接运用它.平常避免
  5. 夫问题的写法是 window.undefined = window.undefined

http://www.bkjia.com/Javascript/326220.htmlwww.bkjia.comtruehttp://www.bkjia.com/Javascript/326220.htmlTechArticlejQuery脚本总体结构来说,有如下形式: 复制代码
代码如下: (function( window, undefined ) { // Define a local copy of
jQueryvar jQuery = function( selector, cont…

相关文章