【问题标题】:What does this JS code do to x? [duplicate]这个 JS 代码对 x 做了什么? [复制]
【发布时间】:2013-04-27 13:10:56
【问题描述】:

这里有这条小线:

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

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

【问题讨论】:

    标签: javascript analysis


    【解决方案1】:

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

    如果trigger是true-like,则x变为n,否则变为n-1

    Here's a page from Mozilla 展示了您可以使用三元运算符执行的一些操作。

    【讨论】:

      【解决方案2】:

      如果触发true,则x变为n否则n-1

      条件运算符用作标准 if 语句的快捷方式。它需要三个操作数。

      Condition ? expr1 : expr2
      

      condition :计算结果为真或假的表达式。

      expr1, expr2 : 具有任何类型值的表达式。

      如果条件为真,则运算符返回 expr1 的值;否则返回 expr2 的值。

      SEE HERE

      【讨论】:

      • @ser1369594 你现在明白了吗
      【解决方案3】:

      如果triggertruthyx = n 否则x = n-1

      【讨论】:

        【解决方案4】:

        如果条件触发为真,则 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

        【讨论】:

          【解决方案5】:

          ?是条件运算符:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator

          本质上相当于:

          if (x) { x=n; } else { x=n-1;}
          

          【讨论】:

          • 与运算符的重要区别是一个表达式(即它有一个值),其中 if then else 是一个语句。
          猜你喜欢
          • 2021-04-25
          • 1970-01-01
          • 2015-04-20
          • 2018-03-14
          • 2016-04-06
          • 1970-01-01
          • 2015-02-25
          • 2015-03-22
          • 1970-01-01
          相关资源
          最近更新 更多