首頁 > web前端 > js教程 > 為什麼 jQuery 使用 `(function(window, undefined){...})(window);`?

為什麼 jQuery 使用 `(function(window, undefined){...})(window);`?

Patricia Arquette
發布: 2024-12-11 02:45:09
原創
783 人瀏覽過

Why Does jQuery Use `(function(window, undefined){...})(window);`?

探索 jQuery 中 JavaScript 封裝的語法

在檢查 jQuery 1.4 原始碼時,可能會遇到以下封裝語法:

在檢查 jQuery 1.4 原始碼時,可能會遇到以下封裝語法:
(function( window, undefined ) {

  //All the JQuery code here 
  ...

})(window);
登入後複製

此語法引發了有關「未定義」變數用途的問題以及「視窗」的重複出現。

「undefined」的意思

括號內的「undefined」變數不是保留關鍵字。相反,它是一個可以分配新值的普通變數。在這種情況下,jQuery 將“undefined”設為“undefined”,以確保全域“undefined”變數保持真正的未定義狀態。

「window」的意義

「window」變數指的是全域 JavaScript 物件。透過將「window」作為參數傳遞給匿名函數,jQuery 建立了對全域物件的本機參考。這種本地引用增強了效能。

當 JavaScript 搜尋變數時,它首先檢查本地範圍。如果在本地沒有找到該變量,則搜尋將繼續到下一個範圍,依此類推,直到到達全域範圍。透過建立對全域物件的本機引用,JavaScript 可以快速定位“視窗”,而無需搜尋所有範圍。

這種優化,正如 Nicholas C. Zakas 在他的文章《加速你的 JavaScript》中所描述的那樣,」顯著提高了 jQuery 庫的執行速度。

以上是為什麼 jQuery 使用 `(function(window, undefined){...})(window);`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板