我有这个JS代码:
var show = elm.hasClassName('level0') ? false : true;
if(show) {
doSomething()
}
我正在使用 FireBug 检查 show 的值,它清楚地表明false。在调试时,我注意到无论如何都会调用 doSomething 函数。我错过了什么?
使用 if(false) 不会运行 doSomething 函数。
谢谢!
我有这个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;
手段show
将被设置为倒数elm.hasClassName('level0')
只需alert(show)
在 if 条件上方添加一个,然后查看打印的内容。看到这个小提琴http://jsfiddle.net/g4Zqp/1/它工作得很好。
如果不是这种情况,你需要把你的完整代码
Try this
if( !elm.hasClassName('level0')) {
doSomething()
}