变量作用域
变量作用域分为全局作用域和局部作用域
全局变量:在全局有效
1)在函数外定义的变量都是全局变量
2)若定义变量未使用var
3)window对象的属性也是全局变量
局部变量:
在函数内声明的变量(包括参数位置)
例子:一
//a是全局变量
var a = 10;
console.log(a);//10
//i是全局部变量
for(i = 0;i<5;i++){
console.log(i);//0,1,2,3,4
}
//局部变量
function geta(){
var b = 10;
console.log(a)//10
console.log(i);//5
console.log(b);//10
}
//局部
console.log(b);//报错
geta();
例子:二
var num = 10; //全局变量
//局部
function show() {
var a = 90;
console.log(num); //全局变量
console.log(a);
}
//局部
console.log(a);//error
show();
//局部
console.log(a);//error
由以上2个例子我们可以得出在局部内部定义的变量在全局内无法调用,而在全局内部写的变量可以在局部内使用。
但是并不是局部变量不好,相反局部变量可以避免全局污染。