【发布时间】:2012-08-11 21:51:49
【问题描述】:
在编写一个评估多变量条件的 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/
谁能解释为什么会这样?
【问题讨论】:
-
JSLint 说:
Expected ';' and instead saw 'a1'.和Unreachable 'a1' after 'return'.
标签: javascript debugging parsing