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

为什么getValue()得出的是123?

为什么getValue()得出的是123?

绝地无双 2018-11-22 18:14:20
    var getValue,setValue;    (function(){      var secret=0;      getValue=function(){        return secret;      };      setValue=function(v){        if(typeof v==="number"){          secret=v;      }    };  }());    getValue();//0    setValue(123);  getValue();//123          setValue(false);  getValue();//123
查看完整描述

1 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

getValue()setValue()闭包, 共享一个变量 secret, 所以在setValue函数中更改了secret,getValue()读取secret当然会随之改变.


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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号