簡體   English   中英

jQuery變量陰影

[英]jQuery variable shadowing

jQuery中有一個奇怪的模式:

var jQuery = (function() {

// Define a local copy of jQuery
var jQuery = function( selector, context ) {
 ...
return jQuery;

})();

實際原因是什么? 為什么不公開內部jQuery函數呢? 它僅用於內部jQuery和外部jQuery中的名稱沖突,因為兩者都在閉包中。

jQuery.noConflict(true)刪除jQuery的全局名稱。 但是,如果不為對象使用某些名稱,就不可能對jQuery庫的其余部分進行編程,因此需要使用本地的,未公開的名稱。 為了方便起見,它們將jQuery重新定義為匿名函數范圍內的變量。

模式本身稱為模塊模式。 它不是特定於jQuery的,並不奇怪但很有幫助。 它允許隱藏對象的狀態和實現。 它還允許使用特權方法(可以訪問私有數據的公共方法)和其他良好的設計原則。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM