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

js输出值问题

js输出值问题

冉冉说 2018-10-10 16:14:52
    var z = 10;    function foo(){      console.log(z)    }    (function (fn){      var z = 20;      fn();    })(foo)为啥输出的是10?
查看完整描述

1 回答

?
元芳怎么了

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

fn 函数需要查找变量 z,由于JavaScript 采用词法作用域,fn 函数被解析的时候是在全局作用域,所以 z 是全局作用域中的 10,而非 IIFE 里面的 z。


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

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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