js中定义变量加var和不加var的区别

作者:Swen程序员? 来源:blog.csdn.net 更新时间:2023-05-25 21:55
这个问题其实我在面试的时候有被问到过,当时我记得我回答的很模糊,面试官看到我好像不太清楚,又问我是不是可以不加var定义变量。。。
正好昨天做项目的时候想到这个问题,觉得这种细节上的问题才是拉开差距的。
js中定义变量有两种情况:(注意在方法外不加var定义变量需对其进行赋值,否则出现xx  is not defined)
1.都加var,在方法内则是局部变量,在方法外则是全局变量。
2.在方法内,加var为局部变量,不加var则是全局变量(在执行当前方法之后)
代码:
<script>
    function add(){
      count=0;
          count++;
          show();
    }
        
    function show(){
       console.info(count);
    }
</script>
<body>
    <button onclick="add()">加</button> 
</body>

结果截图: