我需要检查当前范围内是否存在对象“objCR”。 我尝试使用下面的代码。
if(objCR == null)
alert("object is not defined");
让我知道我错在哪里。
答案 0 :(得分:8)
使用typeof
运算符:
if(typeof objCR == "undefined")
alert("objCR is not defined");
答案 1 :(得分:2)
if (typeof objCR=="undefined"){
alert("objCR is undefined");
} else {
alert("objCR is defined");
};
如果(!objCR)
是等于objCR
的布尔值, false
将返回true
答案 2 :(得分:2)
正如其他人所提到的那样,使用typeof
检查会让你有一些方法:
if (typeof objCR == "undefined") {
alert("objCR is undefined");
}
但是,这不会区分objCR
现有和未定义(如果已声明但未分配,例如使用var objCR;
)和objCR
从来没有在范围链中的任何地方声明,我认为这是你真正想要的。如果您想确保甚至没有声明objCR
变量,您可以使用try/catch
,如下所示:
try {
objCR; // ReferenceError is thrown if objCR is undeclared
} catch (ex) {
alert("objCR has not been declared");
}
答案 3 :(得分:0)
我建议显而易见:
if (objCR==undefined) ...
答案 4 :(得分:0)
我总是这样安全:
if(typeof objCR == "undefined" || objCR == null)
alert("object is not defined or null");