这段代码导致的JavaScript运行时错误:(没有定义foo
)使用不确定变量的if语句
if (foo) {
// ...
}
我必须首先定义foo
,就像这样:
var foo = foo || null // or undefined, 0, etc.
...然后才能这样做:
if (foo) {
// ...
}
这是为什么?
更新:
这是有点在我身边的事情一brainfart的:“fcourse您无法访问未分配的变量。
有趣的东西,你可以做一个typeof()在一个未定义的变量你。我会接受miccet的回答,因为我认为这是最优雅的解决方案。
[这](http://2ality.com/2013/04/check-undefined.html)2ality文章提到不同的推荐检查_undefined_的方法,包括在布尔上下文中将其解释为_falsy_。 – martieva 2017-06-20 13:44:39