0
我正在阅读有关IIFE的article,但认为它带来的主要价值在于它为变量创建隐私,因为在下面的代码中,如果放置在IIFE中,“i”不能更改。但是,命名空间呢?如果两者都包含“counter”范围内的变量,那么两者之间有什么区别?IIFE如何保护命名空间?
var counter = {
i: 0,
increment: function() {i++;}
};
var counter = (function() {
var i = 0;
return {
increment: function() {i++;}
};
})();