一、作用域的分类
变量的作用域无非为两种:全局变量和局部变量
二、全局变量(作用于全局)
- 全局变量就是在函数外部声明的变量,即隶属于window的变量,对于任何函数来说都可以访问
function demo(){
num = "helloWorld";
}
demo();
console.log(num);// result: helloWorld
注:函数内部变量未使用var,则都默认为全局变量
- if...else和for 循环内的变量也可以在外部访问(JavaScript无块级作用域)
for (var i=0;i<10;i++){
}
if(i){
var y = 3;
}
console.log(i); // result: 10
console.log(y); // result: 3
二、局部变量(作用于局部)
- 局部变量只限于某些代码块内部访问,而对于函数外部无法访问(函数内部没有关键字 var ,都属于全局变量)
function demo(){
var num = "helloWorld";
console.log(num);
}
demo();// result: helloWorld;
console.log(num); // result: error num is not defined