Js变量的作用域
根据作用域的不同分为:
1.全局变量
2.局部变量
<script>
var a=100;//全局
function show(a){
console.log(a);
}
show(10)
console.log(a);//此时的a输出的是100,原因是这个a是全局变量
</script>
<script>
var a=100;
function show(a){
a=80;
}
show(10);
console.log(a);//此时的a输出会报错,访问不到函数里面的a,因为函数在调用的那一刻函数就被回收了
</script>
<script>
if(true){
var a=10;
console.log(a);//此时的a输出10;
console.log(b);//undefined
}else{
var b=20;
}
console.log(a);//输出结果为10
console.log(b);//underfined
//现在是a,b都是全部变量,因为在ES5中没有块级作用域;
</script>
总结:
建议:优先使用局部变量,因为全局变量生命周期更长(和页面的生命周期一样),占用内存时间较长,局部变量使用完毕就可以等待回收,更加合理。