可能重复:
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) {
}
但不是分两步完成,即检查它是否未定义且不为空。是否有一步检查取代此检查。
答案 0 :(得分:48)
变量不能同时为null
和undefined
。但是,您问题的直接答案是:
if (variable != null)
一个=
,而不是两个。
JavaScript规范中的“抽象相等比较算法”中有两个特殊条款,专门用于一个操作数为null
,另一个为undefined
的情况,结果为{{1 } true
和==
false
。因此,如果变量的值为!=
,则它不是undefined
,如果它不为空,则显然不是!= null
。
现在,标识符根本没有被定义,作为!= null
或var
,作为函数参数,或作为全局属性背景不同。对此类标识符的引用在运行时被视为错误。您可以尝试引用并捕获错误:
let
我个人认为这是一个值得怀疑的做法。对于可能存在或可能存在某些其他库或某些类似情况的全局符号,您可以测试var isDefined = false;
try {
(variable);
isDefined = true;
}
catch (x) {}
属性(在浏览器JavaScript中):
window
或
var isJqueryAvailable = window.jQuery != null;
答案 1 :(得分:6)
你可以将它包装在你自己的函数中:
function isNullAndUndef(variable) {
return (variable !== null && variable !== undefined);
}