<分区>
在编写一个 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/
谁能解释为什么会这样?