Possible Duplicate:
Detecting an undefined object property in JavaScript
How to determine if variable is 'undefined' or 'null'
Is there a standard function to check for null, undefined, or blank variables in JavaScript?
在我的代码中,我有一个看起来像这样的条件
if (variable !== null && variable !== undefined) {
}
但不是分两步进行,即检查它是否未定义且不为空。是否有一种单步检查可以替代此检查。
最佳答案
一个变量不能同时为null
和undefined
。但是,您问题的直接答案是:
if (variable != null)
一个=
,而不是两个。
JavaScript 规范中的“抽象相等比较算法”中有两个特殊子句专门用于处理一个操作数为 null
且另一个操作数为 undefined
的情况,以及对于 ==
,结果为 true
;对于 !=
,结果为 false
。因此,如果变量的值为 undefined
,则它不是 != null
,如果它不为 null,则显然也不是 != null
。
现在,标识符根本没有被定义,无论是作为 var
或 let
作为函数参数,还是作为全局上下文的属性是不同的。对此类标识符的引用在运行时被视为错误。您可以尝试引用并捕获错误:
var isDefined = false;
try {
(variable);
isDefined = true;
}
catch (x) {}
但是,我个人认为这是一种值得怀疑的做法。对于根据其他库是否存在或类似情况而可能存在或不存在的全局符号,您可以测试 window
属性(在浏览器 JavaScript 中):
var isJqueryAvailable = window.jQuery != null;
或
var isJqueryAvailable = "jQuery" in window;
关于javascript - 如何在 JavaScript 中检查变量是否为 null 和/或未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12271750/