我一直在查看其他人的 javascript 代码并注意到如下变量行:
opacity = isIn ? 0 : 1;
,
opacity = isIn ? opacity + gap : opacity - gap;
,
var s = this == binary ? h(binary, f, change, text) : h(text, r, change2, binary);
,
和其他类似的代码行。它们是如何工作的?它们是什么类型的变量?
太感谢了!
我一直在查看其他人的 javascript 代码并注意到如下变量行:
opacity = isIn ? 0 : 1;
,
opacity = isIn ? opacity + gap : opacity - gap;
,
var s = this == binary ? h(binary, f, change, text) : h(text, r, change2, binary);
,
和其他类似的代码行。它们是如何工作的?它们是什么类型的变量?
太感谢了!
这是一种if
称为条件(或三元)运算符的特殊形式:
var value = condition ? value_when_true : value_when_false;
如果condition
计算结果为true
,value
将分配value_when_true
,否则,将分配value_when_false
。
它在功能上与以下内容相同:
var value;
if (condition) {
value = value_when_true;
} else {
value = value_when_false;
}
有关详细说明,请参阅此 MDN 文章。
它被称为三元运算符
http://msdn.microsoft.com/en-us/library/ie/be21c7hw%28v=vs.94%29.aspx
var s = (some_condition) ? if_true_value : if_false_value;
如同
if(some_condition){
s = if_true_value;
}else{
s = if_false_value;
}