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