在Javascript中检查变量是否在范围内

时间:2010-12-08 12:07:30

标签: javascript

我需要检查当前范围内是否存在对象“objCR”。 我尝试使用下面的代码。

if(objCR == null)
alert("object is not defined");

让我知道我错在哪里。

5 个答案:

答案 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");