在javascript中,三目运算符没有等号,它是由一个问号和一个冒号组成的,语法格式“条件表达式 ? 表达式1 : 表达式2 ;”;如果“条件表达式”的结果为真(true),则执行“表达式1”中的代码,否则就执行“表达式2”中的代码。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
javascript中的三目运算符
三目运算符(也被称为三元运算符、条件运算符),由一个问号和一个冒号组成,语法格式如下:
条件表达式 ? 表达式1 : 表达式2 ;
“条件表达式”必须是一个布尔型的表达式,而“表达式1” 和 “表达式2” 是任意类型的值。
-
如果“条件表达式”的结果为真(true),则执行“表达式1”中的代码,并返回该表达式的值。
-
如果“条件表达式”的结果为假(false),则执行“表达式2”中的代码,并返回该表达式的值。
示例:
定义变量 a,然后检测 a 是否被赋值,如果赋值则使用该值;否则设置默认值。
var a = null; //定义变量a typeof a != "undefined" ? a = a : a = 0; //检测变量a是否赋值,否则设置默认值 console.log(a); //显示变量a的值,返回null
条件运算符可以转换为条件结构:
if(typeof a != "undefined"){ //赋值 a = a; }else{ //没有赋值 a = 0; } console.log(a);
也可以转换为逻辑表达式:
(typeof a != "undefined") && (a =a) || (a = 0); //逻辑表达式 console.log(a);
在上面表达式中,如果 a 已赋值,则执行 (a = a) 表达式,执行完毕就不再执行逻辑或运算符后面的 (a = 0) 表达式;如果 a 未赋值,则不再执行逻辑与运算符后面的 (a = a) 表达式,转而执行逻辑或运算符后面的表达式 (a = 0)。
【推荐学习:javascript高级教程】