【发布时间】:2013-10-08 17:06:05
【问题描述】:
我总是不确定哪个是正确的,哪个是正确的。
通常我会检查(obj == null)。我认为最好只是问。
我应该使用以下哪一项:
if (obj == null) {
alert('obj is null');
}
或
if (obj == null || obj == 'undefined') {
alert('obj is null or undefined');
}
或
if (obj == null || obj == undefined) {
alert('obj is null or undefined');
}
或
if (obj == null || obj === 'undefined') {
alert('obj is null or undefined');
}
哪个更好,我们真的需要检查未定义的吗?
【问题讨论】:
-
第三个,但始终使用“===”比较运算符
-
这个:
if (typeof(obj) === 'undefined') {},否则你检查的是价值而不是对象的存在(如果这是你的意图) -
@ZathrusWriter:不,这不是一个好方法。查看 OP 的最后一个代码示例。这是尝试使用该语法时出现的常见错误的一个示例。
-
哪一个更好用于什么?你想做什么?
标签: javascript