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

<html><body><script type="text/javascript">
    var amt=100;    function a(){        var amt =amt;
        alert(amt)
    }
    a()</script></body></html>


慕莱坞森
浏览 559回答 1
1回答

三国纷争

——————————————— 神奇的分割线 ———————————————正解:因为作用域的关系,你在函数内部又重新声明了一个&nbsp;`amt`, 所以会优先使用最近作用域的变量,所以&nbsp;`var&nbsp;amt&nbsp;=&nbsp;amt`,其实是这样的&nbsp;=>&nbsp;`var&nbsp;amt;&nbsp;amt&nbsp;=&nbsp;amt`内部的&nbsp;`amt`&nbsp;赋值给了内部的&nbsp;`amt`&nbsp;,根本没用到外面的&nbsp;`amt`原答案有误:不可能吧,amt&nbsp;是全局变量,肯定能访问到的啊,而且是在函数调用之前就声明好了的——————————————— 神奇的分割线 ———————————————提示:请将答案主体放在回答中,而不是评论里编辑 By:月之领主LM
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript