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…

相关文章