在这里得到这条小线:
var x = trigger ? n : (n-1);
我的 JS 有点生疏了。这是做什么的?
if trigger true
then x 变为n
elsen-1
条件运算符用作标准 if 语句的快捷方式。它需要三个操作数。
Condition ? expr1 : expr2
condition
:计算结果为真或假的表达式。
expr1, expr2
:具有任何类型值的表达式。
如果条件为真,则运算符返回 expr1 的值;否则,它返回 expr2 的值。
如果trigger
是真的那么x = n
其他x = n-1
如果条件触发为真,则 x = n。如果触发器为假,则 x = n - 1;
快速测试:
<script>
var trigger = false, n = 7;
var x = trigger ? n : (n-1);
alert( x );
</script>
<script>
var trigger = true, n = 7;
var x = trigger ? n : (n-1);
alert( x );
</script>
更多关于“条件运算符”的信息:
http://msdn.microsoft.com/en-us/library/ie/be21c7hw%28v=vs.94%29.aspx
? 是条件运算符:https ://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator
本质上它相当于:
if (x) { x=n; } else { x=n-1;}