我需要能够检查一个变量是否存在(如果它没有将它分配给 {})而不在 javascript 中引发错误。当我尝试这段代码时
if (a) {}
它抛出 uncaughtReferenceError
我真正想做的是这样的事情而不会引发错误:
a = a || {}
或者它看起来像这样
if (a) { a = {} }
我需要能够检查一个变量是否存在(如果它没有将它分配给 {})而不在 javascript 中引发错误。当我尝试这段代码时
if (a) {}
它抛出 uncaughtReferenceError
我真正想做的是这样的事情而不会引发错误:
a = a || {}
或者它看起来像这样
if (a) { a = {} }
if (typeof a === 'undefined'){
// variable is not available and you can write a = {}
}
但a = a || {}
很快
如果a
是全局的,可以使用全局对象来避免错误。在浏览器中,该对象是window
:
window.a = window.a || {};
或者,正如 Ozerich 建议的那样,您可以使用typeof
不会引发参考错误的 :
if (typeof a === 'undefined') {
a = {};
}
a = a || {}
根本行不通,因为a
没有定义。但是您可以使用typeof
它来检查它是否存在。
a = (typeof(a) === 'undefined' ? {} : a);