日期:2014-05-16  浏览次数:20411 次

javascript中var加不加的问题

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);

?