您好 最好创建一个唯一的全局对象来包装此对象中的函数和属性。我查找了很多示例代码并查看了这样的代码
if(!myglobalObject) myglobalObject ={};
然而,这段代码不起作用,我得到一个错误说 ReferenceError:未定义myglobalObject 谁能解释为什么我得到错误?
答案 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 || {};