正如这两个讨论所说:
带有'var'和不带'var'的javascript全局变量[重复]
JavaScript 中使用 var 和不使用 var 的区别
全局变量是否带有'var'应该没有什么不同。
但是,以下两个代码片段会得到不同的结果。
第一:
if(h == undefined){
h = 4;
}
第二个:
if(h == undefined){
var h = 4;
}
对于第一个,我会收到错误消息:“ReferenceError: h is not defined。”
不过第二个还好。
真正奇怪的是,var h = 4;
它h == undefined
让全局变量可以以某种方式初始化。