日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jQuery总体架构的理解

發布時間:2025/4/5 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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);

如http://streamlet77.javaeye.com/blog/914305的解釋可以比較好的說明:

整個腳本是一個匿名函數(暫時叫它mainFn吧),函數被加載的時候便開始執行,mainFn可以接收兩個參數,執行時只傳遞一個參數window.

?? 1. 具體解釋下這個寫法的意思:
?? 2.?? window???? 函數執行時會傳入window,這個傳入的window是全局對象(通常為Window)的
?? 3.????????????? 一個屬性且window=this,而傳入mainFn函數中作為其參數時,它會被存儲在
?? 4.????????????? mainFn的調用對象中.在原型鏈中查找變量的策略是(非嵌套函數):先查找調用
?? 5.????????????? 對象,再查找全局對象,所以這使得整個mainFn中使用的window時查找效率更高
?? 6.?? undefined? 由于執行時并未傳遞第二個參數,故變量undefined的值為undefined.早期版
?? 7.????????????? 本的瀏覽器中全局對象可能沒有undefined屬性,所以不能直接使用它.通常避免
?? 8.????????????? 這個問題的寫法是 window.undefined = window.undefined?

?

然后在最后讓jQuery庫中最重要的對象jQuery成為了window對象的一個屬性,并可以簡寫為“$”。

轉載于:https://www.cnblogs.com/lazeman/archive/2011/03/05/1971884.html

總結

以上是生活随笔為你收集整理的jQuery总体架构的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。