天崩地裂金刚不坏 2016-06-02 12:43 采纳率: 0%
浏览 1066

预编译 js 很奇怪,为什么一个是NAN,一个却能打出来

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

</body>
</html>
<script>
    /*var a = 1;
function show() {
   alert(a*5);
   var a = 2;
   alert(a * 1);
};
show();*/
var a = 1;
function show() {
   alert(a * 2);
};
show();
</script>

  • 写回答

2条回答 默认 最新

  • danielinbiti 2016-06-02 12:50
    关注
     var a = 1; function show() { alert(a*5); var a = 2; alert(a * 1); 
     这个翻译成通俗的就是
     var a=1;
     function show(){
        var a;
            alert(a*5);
            a=2;
            alert(a*1);
     }
     也就是方法内,用的a是局部变量
     var a = 1; function show() { alert(a * 2);}中,因为方法内没有重新定义,默认使用全局变量a
    
    评论

报告相同问题?