这里有一行字:
var x = trigger ? n : (n-1);
我的JS有点生锈了。这是做什么的?
这只是一个简单的三元运算符。
若trigger
为真类,则x
为n
,否则为n-1
。
这是一个来自Mozilla的页面,展示了使用三元操作符可以做的一些事情。
如果触发true
则x变为n
否则为n-1
条件操作符用作标准if语句的快捷方式。它接受三个操作数
Condition ? expr1 : expr2
condition
:求值为真或假的表达式。
expr1, expr2
:包含任意类型值的表达式
如果condition为真,操作符返回expr1的值;否则,返回expr2的值。
SEE HERE
如果trigger
为真,则x = n
为真,否则x = n-1
为真
如果condition trigger为真,则x = n;如果trigger为假,则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;}