JS的变量作用域只有两种:全局作用域与函数作用域。
用var声明的变量不能简单的说是属于函数作用域,应该是说属于其最近的作用域。
var a = 10; function test(){
var a;
console.log(a); //undefined
}
test();
console.log(a); //10
for(var i=0;i<10;i++){
console.log(i);
} console.log(i); //10
var i = 10;
function test(){
var i = i-1;
console.log(i); //NaN
} test();
console.log(i); //10