? 1.0:0.0 - 这是什么意思?

时间:2013-06-24 12:52:44

标签: javascript glsl shader

对你来说可能是一个愚蠢的问题,但我找到了一个没有进一步信息的网站。我用谷歌搜索但没有得到有用的建议。

我想知道这条线实际上做了什么。给我一个链接或这个功能的名称?所以我可以自己查一下。

谢谢:)

y += (x<= uz ? 1.0 : 0.0) * radius;

我知道+ =和*做什么,但其余的是一个巨大的问号

2 个答案:

答案 0 :(得分:3)

这是ternary operator

  

有条件(三元)运营商(?:)

     

根据条件返回两个表达式中的一个。

test ? expressionIfTrue : expressionIfFalse

使用您的代码,它与:

相同
if (x<uz) {
  y += radius;
} else {
  y += 0;
} 

答案 1 :(得分:2)

那是ternary operator。基本上这转化为:

var y;
// ...

if( x <= uz ) {
  y += 1.0 * radius;
} else {
  y += 0.0 * radius;
}