【发布时间】:2013-02-26 16:13:41
【问题描述】:
我有点困惑如何最好地检查一个变量是否在 javascript 中未定义。我一直在这样做:
myVar === undefined;
但是在所有情况下使用 typeof 会更好吗?
typeof myVar === undefined;
我也见过undefined 与"undefined" 的用法呢?
【问题讨论】:
-
typeof返回一个字符串,因此如果使用严格比较运算符,则应将其结果与"undefined"进行比较。 -
如果您只想知道
myVar是否具有非假值,!就足够了。 (例如if(!myVar) -
@Frédéric Hamidi--谢谢你的解释。在大多数情况下,您是否使用(或推荐)使用 typeof?在所有情况下?我之所以问是因为我在知名书籍中看到过
myVar === undefined,这就是我一直在使用它的原因。 -
@larryq,
myVar === undefined与typeof myVar === "undefined"不同。如果myVar在当前范围内不存在,第一种语法将引发异常。查看完整故事的潜在副本。 -
这不是 'typeof === "undefined" vs. != null'的副本。相似之处是表面的。各位,请在投票之前仔细阅读。
标签: javascript undefined