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