[英]I have been using following code but what does it mean in javascript?
我在項目中一直使用這些行,但是我不知道它的確切含義,有人可以告訴我它的確切含義是什么。
var myObject = window.myObject || {};
(function () {
//....my logic will go here
}).call(myObject);
var myObject = window.myObject || {};
那將在全局范圍內聲明myObject
。 如果它在獲取現有值之前就已經存在, 或者如果不存在,則將其分配給新的空對象( Read on )。 如果多個腳本分配了同一對象的屬性,則這是一種常見的技術,因此,首先執行哪個腳本並不重要,它們總是會得到相同的結果。
(function() { }).call(myObject)
在上下文獲取myObject
的情況下,這就是IIFE ,它使您可以輕松地使用
this.someProp = someValue;
IIFE還確保您在函數內部聲明的變量,例如:
var someValue = 1;
不是全局范圍的一部分,因此它們不會污染全局名稱空間。
var myObject = window.myObject || {}; // 1
(function () { //2
//....my logic will go here
}).call(myObject); //3
window
(DOM窗口)對象的現有myObject
屬性創建一個名為myObject
的變量,或者,如果不存在,則創建一個新的空對象( {}
)。 myObject
對象(或從window
檢索的對象,如果那里可用)來調用IIFE。 注意,在IIFE中,您可以根據需要訪問myObject
。 請參見下面的代碼片段,該打印對象是如何通過鍵custom
和與值相關的value
。
var myObject = window.myObject || { custom: 'value' }; (function() { console.log(myObject); }).call(myObject);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.