为了账号安全,请及时绑定邮箱和手机立即绑定

js 变量问题

js 变量问题

茅侃侃 2018-12-07 09:23:23
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方法也能得到改变过的值了。

查看完整回答
反对 回复 2018-12-24
  • 1 回答
  • 0 关注
  • 419 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信