如何在javascript中定义新的全局对象

时间:2010-10-12 10:28:58

标签: javascript

您好 最好创建一个唯一的全局对象来包装此对象中的函数和属性。我查找了很多示例代码并查看了这样的代码

if(!myglobalObject) myglobalObject ={};

然而,这段代码不起作用,我得到一个错误说 ReferenceError:未定义myglobalObject 谁能解释为什么我得到错误?

3 个答案:

答案 0 :(得分:2)

if (typeof myglobalObject === 'undefined') var myglobalObject = {};

答案 1 :(得分:2)

为避免ECMAScript 5严格模式中的错误,您需要使用var来定义所有变量:

if (typeof myglobalObject == "undefined") {
    var myglobalObject = {};
}

另一种方法是将属性分配给全局对象:

// The following line gets you a global object in any ECMAScript
// environment, so long as it runs in the global scope. In browsers,
// you could just use window.
var globalObj = this;
if (typeof globalObj.myglobalObject == "undefined") {
    globalObj.myglobalObject = {};
}

答案 2 :(得分:0)

if (window['myglobalObject'] === undefined) window.myglobalObject = {};

如果您不想从上下文中公开您的对象,可以像这样做:

var myglobalObject = myglobalObject || {};