这是什么意思?

时间:2014-04-09 11:13:19

标签: javascript

我有一个通用的JS问题,我甚至不确定如何把它。

在什么情况下您使用以下代码结构?这是什么意思(或者使用它有什么意义)?这种做法叫做什么?

x1 = x2 ? x3 : x4;

你能提供参考,例子和可能性吗?

6 个答案:

答案 0 :(得分:0)

以下内容

  if(x>10)
  {
      y=10;
  }
  else
  {
      y=9;
  }

可以写成

  (x>10) ? y=10 : y=9;

我想现在你明白了

答案 1 :(得分:0)

答案 2 :(得分:0)

在扩展代码中,这说:

if(x2){
    x1 = x3;
}
else{
    x1 = x4
}

如果您熟悉三元运算符(如果不熟悉,请查看它),那么这可能会更有意义。

x1 = (x2 ? x3 : x4);

答案 3 :(得分:0)

它被称为ternary operator。它是if-else的简写。它用于许多高级编程语言。

x1 = x2 ? x3 : x4;

上面的代码可以扩展为:

x1 = undefined;

if (x2) {
    x1 = x3;
} else {
    x1 = x4;
}

答案 4 :(得分:0)

这是ternary operator

如果X1 = X2X1获取值X3,则X1获取值X4

答案 5 :(得分:0)

? :是一个'三元运营商';它需要三个参数。第一个参数是测试,如果test为true,则第二个参数是返回值,如果测试为false,则第三个参数是返回值。

所以1 === 1 ? 'foo' : 'bar'会返回'foo'而1 === 0 ? 'foo' : 'bar'会返回'bar'。这总是可以用if..else结构替换,但考虑到它的简短形式,它可以保持代码整洁。

如果测试和返回值的形式非常复杂,我会使用更“传统”的if..else结构。