近期,在学习js,从w3c中遇到一个新问题。(条件运算符章节内容 JavaScript 还包含了基于某些条件对变量进行赋值的条件运算符。) variablename=(condition)?value1:value2
表示看不懂,后经过多方了解学习,这是是一个三元式,可以理解为
if(condition){
variablename=value1;
}else{
variablename=value2;
};
例如
greeting=(visitor=="PRES")?"Dear President ":"Dear ";可以理解为:
if( visitor=="PRES"){
greeting="Dear President";
}else{
greeting="Dear";
};
如果变量 visitor 中的值是 "PRES",则向变量 greeting 赋值 "Dear President ",否则赋值 "Dear"。
三元运算符:
如名字表示的三元运算符需要三个操作数。
语法是 条件 ? 结果1 : 结果2;. 这里你把条件写在问号(?)的前面后面跟着用冒号(:)分隔的结果1和结果2。满足条件时结果1否则结果2。
<script type="text/javascript">
var b=5;
(b == 5) ? a="true" : a="false";
document.write(" --------------------------- "+a);
</script>
结果: --------------------------- true
<script type="text/javascript">
var b=true;
(b == false) ? a="true" : a="false";
document.write(" --------------------------- "+a);
</script>
结果: --------------------------- false