作用域:即全局变量和局部变量
意义:
- 全局变量在整个HTML文档中都能调用。
- 局部变量则只有在函数中执行调用:
// 1.函数作用域覆盖了全局作用域,发生了变量提升,函数声明大于var声明的变量,因此函数里面的a提到了前面,在打印a,初始化一个undefined给a,所以打印出了undefined。
var a = '1';
function fn() {
console.log(a);
if (3<2) {
var a = 3;
}
}
fn(); // undefined
// 2.循环中的变量泄露为全局变量
for(var i=0;i<5;i++) {
console.log(i);
}
console.log(i); // 5;
在使用全局变量和局部变量要规范:
var a=1;
function show(a){
console.log(a);
}
show(10);
console.log(a);
如下:这样则不会让局部变量污染全局变量。