有人可以向我解释这种行为吗?
var obj = function()
{
var _bar = 10;
function i_bar(){return ++_bar;}
return {
bar : _bar,
i_bar: i_bar
}
}();
obj.bar // prints 10, OK
obj.i_bar() // prints 11, OK
obj.bar = 0 // prints 0, OK
obj.i_bar() // prints 12, NOK
由于唯一的变量是_bar
,最后一个变量不应该obj.i_bar()
打印1
而不是12
?