baidu_31333625
个体户999
采纳率0%
2016-06-02 12:43

预编译 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 danielinbiti 5年前
     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
    
    点赞 2 评论 复制链接分享
  • lan1561753722 lan1561753722 5年前

    两个a,应该分局部和全局

    点赞 评论 复制链接分享

相关推荐