在编写一个 javascript 函数来评估多变量条件时,我遇到了 Javascript 中的解析器错误。如果我忘记了什么,或者这是适当的行为,请告诉我。
在我的函数中,我返回了AND
几个变量的结果,如下所示:
return
// a comment, for kicks
a1 && a2
&&
b1 && b2
&&
// another comment
c1 && c2
&&
d1 && d2
;
但是,即使所有这些变量都具有显式值true
,该函数也会返回undefined
而不是预期的true
。
我尝试了几种返回此表达式的变体,我发现:
- 多行表达式——失败
- 单行表达式——有效
- 用括号括起来的表达式——有效
- 将多行表达式设置为变量,然后返回变量--有效
请参阅工作示例:http: //jsfiddle.net/drzaus/38DgX/
谁能解释为什么会这样?