我一直在積極使用揭示模塊模式多年,但還有一些我想深入瞭解的東西。根據我的理解,自我執行功能的潛在好處是自我執行,這兩種方式在這種特定模式下似乎都不需要/不被利用。另外一個我不明白的地方是,在下面的場景中,在SocialMedia函數()中包含函數Init,即嵌入函數,自執行函數似乎是JS中一個非常獨特的構造,isn奇怪的是,我們可以將一個屬性值賦給一個自動執行的代碼塊嗎?爲什麼我們在顯示模塊模式中使用自執行功能?
var myObj = {
prop1, "prop1value",
SocialMedia: (function() {
function Init() {
}
return {
Init: Init
}
})()
}
_「是不是奇怪的是,我們可以只分配一個屬性值,自動執行的代碼塊」 _ - 我不認爲這是奇怪的:你可以爲_any_表達式分配一個屬性,爲什麼不給函數調用的結果? (即使是不返回值的函數調用也會工作,因爲它有效返回undefined。) – nnnnnn 2012-02-26 23:28:27