ca88官网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对象的1个特性,并得以简写为“$”。

其它的补充资料:
JQuery是个卓越的javascript库,近年来组成它写javascript,看了下源码。
先从总体、全局的看,jQuery的源码差不多都在底下的代码中:

复制代码 代码如下:

(function() {

//……

})();

先是个括号里面是个匿名函数,第二个括号表示登时执行第一个括号里面包车型地铁代码。
先是知道,javascript里面是从未命名空间的,要保管你的javascript函数、对象与其余的不龃龉,那里用了javascript的八个技巧:你的具备javascript函数、对象都在3个匿名函数里面定义,确定保障了所定义的函数、对象的立见成效限制,起到了命名空间的效果。既然功用范围在那么些匿名函数中,怎么被外人利用啊?下边看它的底下代码:

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

此地让jQuery库中最要害的对象jQuery成为了window对象的1性情能,这样就足以在任啥地点方像使用
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能够吸收七个参数,执行时只传递1个参数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…

相关文章