6

Javascript代码:

var a = (b) ? b : 40;

它正在工作,只是 NetBeans 说:“使用 || 运算符(列 [? 所在的位置])”。我没有找到任何解释。

它是什么?

谢谢!

4

2 回答 2

6

如果您只是测试真实性,b那么您可以这样做:

var a = b || 40;

…它更短并且(可以说)更明显。在 JavaScript 中,||是一个短路运算符。如果为真则返回左侧,否则返回右侧。(即它不返回布尔值,除非输入是布尔值)。

如果您想查看是否b实际定义,那么您最好使用:

var a = (typeof b !== "undefined") ? b : 40;
于 2012-05-22T15:13:54.097 回答
3

管道是or声明。var a = b || 40表示如果 b 是非假值,则令 a=b,否则为 40。

于 2012-05-22T15:14:15.027 回答