0
我正在閱讀有關IIFE的article,但認爲它帶來的主要價值在於它爲變量創建隱私,因爲在下面的代碼中,如果放置在IIFE中,「i」不能更改。但是,命名空間呢?如果兩者都包含「counter」範圍內的變量,那麼兩者之間有什麼區別?IIFE如何保護命名空間?
var counter = {
i: 0,
increment: function() {i++;}
};
var counter = (function() {
var i = 0;
return {
increment: function() {i++;}
};
})();