JS代码对x做了什么?



这里有一行字:

var x = trigger ? n : (n-1);

我的JS有点生锈了。这是做什么的?

这只是一个简单的三元运算符。

trigger为真类,则xn,否则为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;}

相关内容

  • 没有找到相关文章

最新更新