繁体   English   中英

JavaScript:变量为false,但if语句为true?

[英]JavaScript: Variable is false but if statement is true?

我有这个JS代码:

var show = elm.hasClassName('level0') ? false : true;
if(show) {
  doSomething()
}

我正在使用FireBug检查show的值,并且它明确声明为false 调试时,我注意到doSomething函数始终被调用。 我想念什么?

使用if(false)不会运行doSomething函数。

谢谢!

无论您显示了什么代码(!!!),我都认为您的调试是错误的。 可能是您看到的价值

elm.hasClassName('level0')false

但是, var show = elm.hasClassName('level0') ? false : true; var show = elm.hasClassName('level0') ? false : true; 表示将show设置为elm.hasClassName('level0')倒数

只需在if条件上方添加alert(show) ,然后查看打印的内容。 看到这个小提琴http://jsfiddle.net/g4Zqp/1/可以正常工作。

如果不是这种情况,则需要输入完整的代码

尝试这个

if( !elm.hasClassName('level0')) {
  doSomething()
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM