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

如图,js为什么alert出来的是undefined?

如图,js为什么alert出来的是undefined?

慕莱坞森 2019-02-02 15:05:13
<html><body><script type="text/javascript">     var amt=100;    function a(){        var amt =amt;         alert(amt)     }     a()</script></body></html>

1 回答

?
三国纷争

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

——————————————— 神奇的分割线 ———————————————
正解:

因为作用域的关系,你在函数内部又重新声明了一个 `amt`,
所以会优先使用最近作用域的变量,所以 `var amt = amt`,其实是这样的 => `var amt; amt = amt`内部的 `amt` 赋值给了内部的 `amt` ,根本没用到外面的 `amt`

原答案有误:

不可能吧,amt 是全局变量,肯定能访问到的啊,而且是在函数调用之前就声明好了的

——————————————— 神奇的分割线 ———————————————
提示:请将答案主体放在回答中,而不是评论里
编辑 By:月之领主LM


查看完整回答
反对 回复 2019-02-02

添加回答

代码语言

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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