总结自:http://www.cnblogs.com/rainman/archive/2009/04/28/1445687.html
1.变量作用域链:依次从范围最近最小到最远最大
2.局部变量优先级比同名全局变量高
3.没有块级作用域,在for循环中定义的变量,其作用域是所在的整个函数
4.函数中声明的变量在整个函数中都有定义,与顺序无关。
等同于:
function test(){
var a;
alert(a);//undefine
a=100;
alert(a);//100
a=0;
alert(a);//0
}
5.未使用var关键字定义的变量都是全局变量
function test(){
x=10;
}
alert(x);//10
6.全局变量都是window的属性
5中的代码等同于:
function test(){
window.x=10;
}
alert(window.x);
function test(){
alert(a);//undefine
a=100;
alert(a);//100
var a=0;
alert(a);//0
}