ca88官网jQuery总体架构的驾驭分析

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…

复制代码 代码如下:

复制代码 代码如下:

  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

本条库的布局是那样的:

复制代码 代码如下:

全副脚本是一个匿名函数(暂时叫它mainFn吧),函数被加载的时候便起先推行,mainFn可以收起七个参数,执行时只传递一个参数window.

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

window.$ = jQuery;

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

第三个括号里面是个匿名函数,第三个括号表示登时执行首个括号里面的代码。
率先知道,javascript里面是一贯不命名空间的,要力保你的javascript函数、对象与别的的不争持,这里用了javascript的一个技能:你的所有javascript函数、对象都在一个匿名函数里面定义,确保了所定义的函数、对象的实惠限制,起到了命名空间的效用。既然效用范围在这些匿名函数中,怎么被人家选用啊?下边看它的上面代码:

Technorati 标签: JQuery,Javascript,Web前端

js闭包的定义相关,明天查了一部分资料,有了些基本的理解。
实际上是概念了一个大局函数,前一个括号为一个匿名函数,前面为函数的调用。可以那样理解:

其余的补给材料:
JQuery是个完美的javascript库,近期重组它写javascript,看了下源码。
先从总体、全局的看,jQuery的源码大约都在上面的代码中:

  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

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

//……

前日知道了吧。

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

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

此间让jQuery库中最重大的目的jQuery成为了window对象的一个性质,那样就足以在其余地点像使用
document(document也是window的一个属性)一样使用jQuery了。也许使用过jQuery的心上人惊叹-我从没选择jQuery对象,一向选取$的。没错,那是jQuery的同名对象:

复制代码 代码如下:

(function() {

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

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

对如此的协会不很领会,也没做探索,只驾驭和和所谓的

})();

总体脚本是一个匿名函数(暂时叫它mainFn吧),函数被加载的时候便开端施行,mainFn可以收到七个参数,执行时只传递一个参数window.

相关文章