if (typeof foo !== 'undefined') {
// Now we know that foo is defined, we are good to go.
}
The typeof
评估为true
or false
基于变量是否foo
已定义或未定义。
但是,说如果foo !== 'undefined'
评估为true
, then typeof
of true
应该评估为'boolean'
。
为什么它评估为true
or false
?
因为优先规则typeof
和不等运算符定义该表达式被解析为
(typeof foo) !== 'undefined'
欲了解更多信息,请参阅有关运算符优先级的 MDN 页面. typeof
优先级为 16;不等式优先 10. 优先级较高typeof
意味着它与其操作数“绑定”得更紧密。
顺便问一下,为什么你的代码中有未定义的变量?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)