js允许声明变量时可以不加var,我个人理解在全局中声明变量加不加var应该是一样的(除去风险考虑),但是在局部区域是不同的,比如在一个函数中:
function f(){ var a = "函数内变量"; b = "全局变量"; } f(); alert("b:" + b);//全局变量 alert("a:" + a);//报a未定义错误
这时b作为window对象的一个属性,这种写法跟以下代码没什么区别:
写道
var b;
function f(){
b = "全局变量";
}
f();
alert(window.b);
function f(){
b = "全局变量";
}
f();
alert(window.b);