0
我的JS做到這一點:的JavaScript模塊創建和初始化
var MyClass ={
a: 1,
b: 2,
init: function(message){ console.log("calling c to say "+message);};
};
MyClass.init("hello");
//所有上面的代碼是在js文件
我一直遍佈看到IIFE模式,但恐怕我不知道看看它與上面相比有什麼好處。 我有一個模塊MyClass並能夠調用它的方法。使用這種模式有缺點嗎?
缺點是它是一個普通的對象,並且你沒有封閉提供的封裝。 – vlaz
請您詳細說明一下嗎?我理解下面的答案中發生了什麼,但這與我的模塊創建無關。答案只是執行一個函數和一些代碼。沒有創建模塊或封裝。你是否在我的對象中說我可以訪問MyClass.a和MyClass.b等,但如果我使用一個IIFE,將能夠控制它?如果我不得不將這個改寫爲IIFE,我該怎麼做?謝謝我是js newb –
當然有封裝 - 你不能到達'x'因爲它在封閉內。答案並不是創建一個模塊,而是因爲它的目的是要顯示你的解決方案缺乏,而不是因爲它展示了「如何製作模塊」。鑑於你聲稱你已經知道,再次重複它會是多餘的。 – vlaz