这个问题其实我在面试的时候有被问到过,当时我记得我回答的很模糊,面试官看到我好像不太清楚,又问我是不是可以不加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 οnclick="add()">加</button>
</body>
结果截图: