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);

对这么的布局不很领悟,也没做探寻,只精通和和所谓的

ca88官网,Technorati 标签:
JQuery,Javascript,Web前端

js闭包的概念相关,后天查了有的资料,有了些基本的驾驭。
实际是概念了一个大局函数,前1个括号为3个无名氏函数,后边为函数的调用。能够如此敞亮:

复制代码 代码如下:

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

万事脚本是二个佚名函数(一时半刻叫它mainFn吧),函数被加载的时候便开头实践,mainFn能够接到四个参数,实践时只传递三个参数window.

  1. 具体解释下这几个写法的意思:
  2. window
    函数实行时会传入window,这几个流传的window是全局对象(平常为Window)的
  3. 三天性能且window=this,而盛传mainFn函数中作为其参数时,它会被积累在
    四.
    mainFn的调用对象中.在原型链中查找变量的宗旨是(非嵌套函数):先物色调用
    五.
    目标,再找寻全局对象,所以那使得全体mainFn中使用的window时搜索功效更加高
  4. undefined
    由于实行时未有传递第一个参数,故变量undefined的值为undefined.早期版
    柒.
    本的浏览器中全局对象只怕未有undefined属性,所以无法直接行使它.平常制止
  5. 本条题指标写法是 window.undefined = window.undefined

接下来在最后让jQuery库中最器重的靶子jQuery成为了window对象的一个性质,并能够简写为“$”。

其他的补给质地:
JQuery是个了不起的javascript库,近期结合它写javascript,看了下源码。
先从总体、全局的看,jQuery的源码大约都在底下的代码中:

复制代码 代码如下:

(function() {

//……

})();

第3个括号里面是个佚名函数,第三个括号表示立即推行第贰个括号里面的代码。
率先知道,javascript里面是尚未命名空间的,要确定保障你的javascript函数、对象与别的的不龃龉,这里用了javascript的三个本领:你的具有javascript函数、对象都在3个无名氏函数里面定义,确认保证了所定义的函数、对象的得力限制,起到了命名空间的功效。既然成效范围在这一个无名函数中,怎么被别人利用呢?上面看它的底下代码:

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

此处让jQuery库中最重大的靶子jQuery成为了window对象的二脾品质,这样就能够在其余地点像使用
document(document也是window的1特性情)同样选拔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函数中作为其参数时,它会被积累在
    四.
    mainFn的调用对象中.在原型链中查找变量的攻略是(非嵌套函数):先找找调用
    5.
    对象,再寻觅全局对象,所以那使得整个mainFn中应用的window时找寻效用更加高
  4. undefined
    由于举行时从没传递首个参数,故变量undefined的值为undefined.早期版
    七.
    本的浏览器中全局对象大概未有undefined属性,所以不可能平昔行使它.平时制止
  5. 这几个主题素材的写法是 window.undefined = window.undefined

你大概感兴趣的小说:

相关文章