标签:
if (!myObj) {
var myObj = { };
}
window是javascript的顶层对象,所有的全局变量都是它的属性。所以,判断myobj是否为空,等同于判断window对象是否有myobj属性,这样就可以避免因为myObj没有定义而出现ReferenceError错误。不过,从代码的规范性考虑,最好还是对第二行加上var
if (!window.myObj) {
var myObj = { };
}
上面这种写法的缺点在于,在某些运行环境中(比如V8、Rhino),window未必是顶层对象。所以,考虑改写成:
在全局变量的层面中,this关键字总是指向顶层变量,所以就可以独立于不同的运行环境。
if (!this.myObj) {
this.myObj = { };
}
标签:
原文地址:http://www.cnblogs.com/masita/p/4528209.html