var module1 = (function () {
var count = 0;
var setcount = function (val) { count = val; };
var getcount = function () { alert("count=" + count); };
return {
count: count,
getcount: getcount,
setcount: setcount
};
})();
module1.count = 100;
module1.getcount(); //0
alert(module1.count); //100
module1.setcount(200);
module1.getcount(); //200
alert(module1.count); //100
本人前端薄弱,不明白为什么module1.count设置的不是module1内部count的值,请指点!或给出博文参考也行。谢谢!
1 回答
烙印99
TA贡献1829条经验 获得超13个赞
count 是number类型的,module1.count 和 var count 是两个变量,存储在两个不同的位置,没有引用关系
所以你设置module1.count时是改变的module1对象的count属性,没有改变function空间里的count值
而你用getcount得到的是function空间里的count值。
如果你把count = 0 换成 count = {a:0},然后在用原来的方式改变count.a的值,就会发现用getcount方法也能得到改变过的值了。
添加回答
举报
0/150
提交
取消