【发布时间】:2015-03-17 09:41:59
【问题描述】:
我最近遇到了以下语法错误:
if (button=="init" || "show_selected" || "show_all") {
当然应该是这样的:
if (button=="init" || button=="show_selected" || button=="show_all") {
但是,最初的声明似乎在 Chrome、FF 和 IE9 中完美运行!?!?我只是在添加新选项时偶然发现了我的错误。
为了澄清,“init”、“show_selected”和“show_all”是调用函数时使用的字符串参数;例如
onclick=myFunction("init");
我确定我记得我很早就在学习 JS 时尝试过这种速记,但很快发现它没有奏效。
无论如何,我已经更正了代码,但让我很恼火的是,我看不出它为什么工作。
谁能解开这个谜?
【问题讨论】:
-
嗯,它没有“完美”地工作,因为逻辑不正确,但它肯定不是语法错误。
-
|| "show_selected" 永远为真
-
"show_all"被强制转换为布尔值true
标签: javascript if-statement syntax-error logical-operators