如何确定变量是'undefined'还是'null'?
如何确定变量是undefined
还是为null
? 我的代码如下:
var EmpName = $("div#esd-names div#name").attr('class');
if(EmpName == 'undefined'){
//DO SOMETHING
};
<div id="esd-names">
<div id="name"></div>
</div>
但是,如果我这样做,JavaScript解释器停止执行。
您可以使用抽象相等运算符的特性来执行此操作:
if (variable == null){
// your code here.
}
因为null == undefined
是真的,所以上面的代码会同时捕获null
和undefined
。
同时捕获null
和undefined
的标准方法是这样的:
if (variable == null) {
// do something
}
- 这是100%相当于更明确,但不那么简洁:
if (variable === undefined || variable === null) {
// do something
}
在编写专业JS时,我们理解[类型相等和==
vs ===
]的行为[1]是理所当然的。 因此我们使用==
并且只比较null
。
再次编辑
建议使用typeof
的注释完全错误。 是的,如果变量不存在,我上面的解决方案将导致ReferenceError。 这是一件好事。 这个ReferenceError是可取的:它会帮助你在发布代码之前找到你的错误并修复它们,就像在其他语言中编译器错误一样。
您不应该在代码中引用未声明的变量。
if (variable == null) {
// Do stuff, will only match null or undefined, this won't match false
}
链接地址: http://www.djcxy.com/p/2137.html
上一篇: How to determine if variable is 'undefined' or 'null'?
下一篇: Why is null an object and what's the difference between null and undefined?