PMa*_*Mat 30 javascript jquery
可能重复:
在JavaScript中检测未定义的对象属性
如何确定变量是否为'undefined'或'null'
是否有标准函数来检查JavaScript中的null,undefined或blank变量?
在我的代码中,我有一个看起来像的条件
if (variable !== null && variable !== undefined) {
}
Run Code Online (Sandbox Code Playgroud)
但不是分两步完成,即检查它是否未定义且不为空.是否有一步检查取代此检查.
Poi*_*nty 51
变量不能同时null
并undefined
在同一时间.但是,您问题的直接答案是:
if (variable != null)
Run Code Online (Sandbox Code Playgroud)
一个=
,而不是两个.
JavaScript规范中的"抽象相等比较算法"中有两个特殊条款,专门用于一个操作数的情况,null
另一个是undefined
,并且结果是true
for ==
和false
for !=
.因此,如果变量的值是undefined
,它不是!= null
,如果它不是null,它显然不是!= null
.
现在,根本没有定义标识符的情况,作为var
或let
作为函数参数,或作为全局上下文的属性是不同的.对此类标识符的引用在运行时被视为错误.您可以尝试引用并捕获错误:
var isDefined = false;
try {
(variable);
isDefined = true;
}
catch (x) {}
Run Code Online (Sandbox Code Playgroud)
不过,我个人认为这是一个值得怀疑的做法.对于可能存在或可能存在的全局符号,基于是否存在某些其他库或某些类似情况,您可以测试window
属性(在浏览器JavaScript中):
var isJqueryAvailable = window.jQuery != null;
Run Code Online (Sandbox Code Playgroud)
要么
var isJqueryAvailable = "jQuery" in window;
Run Code Online (Sandbox Code Playgroud)
你可以把它包装在你自己的函数中:
function isNullAndUndef(variable) {
return (variable !== null && variable !== undefined);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
166656 次 |
最近记录: |