如何在JavaScript中检查变量是否为null和/或未定义
How to check if a variable is both null and /or undefined in JavaScript
可能重复:
在JavaScript中检测未定义的对象属性
如何确定变量是否为';未定义';或者';null'
是否有标准函数来检查JavaScript中的null、未定义或空白变量?
在我的代码中,我有一个看起来像的条件
if (variable !== null && variable !== undefined) {
}
但不是分两步进行,即检查它是否未定义和是否为空。是否有一步检查可以取代此检查。
null
和undefined
。然而,你的问题的直接答案是:
if (variable != null)
一个=
,而不是两个。
在";抽象等式比较算法";在专用于一个操作数是null
而另一个是undefined
的情况的JavaScript规范中,并且结果是==
的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;
您可以将其封装在自己的函数中:
function isNullAndUndef(variable) {
return (variable !== null && variable !== undefined);
}
相关文章:
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 为什么localStorage[“..”]未定义,而localStorage.getItem(“..”)为null
- 当null应该在javascript中使用而不是未定义时
- React.createElement:类型不应为null或未定义
- 对象为null或IE9中存在未定义错误
- 如何在JavaScript中检查变量是否为null和/或未定义
- Microsoft JScript运行时错误:无法获取属性'的值;样式':对象为null或未定义
- 无法获取属性'字符串'的未定义或null引用IE 11 ASP.NET
- SCRIPT5007:无法获取属性'长度'的未定义引用或null引用
- 无法获取属性'setActionableButtonState'的未定义引用或null引用
- Highcharts无法设置属性'的值;要点':对象为null或未定义
- IE错误:无法设置属性'的值;样式':对象为null或未定义
- moment:Array.prototype.some在null或未定义时被调用
- 无法获取属性'偏移'的未定义引用或null引用
- 具有null或未定义值的JavaScript字符串串联行为
- Javascript-函数获取数组元素参数未定义/为null
- 无法在jasmine it函数中将未定义或null转换为对象
- JS:未定义值和未定义类型,以及null值和null类型之间的区别
- IE:无法获取属性'的值;clientWidth':对象为null或未定义
- 检查AJAX响应数据是否为空/空白/null/未定义/0