深度了解 JavaScript 中 三目运算符
初次写文章留作纪念 😃
三目运算符 的写法 及体征
通过一个简单的案例,让你更深层的了解判断类型的三目运算符的应用 分为 单条件 和 多条件 两种类型。
单条件语法 | 多条件语法 |
布尔表达式 ? 表达式true执行 : 表达式false执行 | 布尔表达式1 ? 表达式1true执行 : (布尔表达式2 ? 表达式2的true执行 : 两个表达式都不成立执行语句) |
条件 ? 成立结果 : 不成立结果 | 条件1 ? 成立结果1 : ( 条件2 ? 成立结果2 : 都不成立时的结果 ) |
var data = a<b ? a : b; | var str = a<b ? “true1” : (a<c ? “true2” : (a<d ? “true3”:“false123”)); |
解释:如果a小于b,a赋值给data,否则b赋值给data | 解释:如果a小于b(条件1) ,就将”true1″赋值给str 、 再如果a小于c(条件2),就将”true2″赋值给str 、 再如果a小于d(条件3),就将”true3″赋值给str 、否则将“false123”赋值给str |
可以理解为条件 ? 结果1 : 结果2
符号 | 理解 |
? | 是格式要求。也可以理解为条件是否成立, 问号? 后面写条件成立时的结果 |
: | 是当条件不成立时执行的结果 |
单条件
// 语法 布尔表达式 ? 表达式true执行 : 表达式false执行
例如:
var a = 4,b = 2;
var max = a console.log(max);//2
//与if(){}else{}相似
//换种写法 ↓
if( a
max = a;
}else {
max = b;
}
多条件
/* <表达式1> ? <表达式2> : <表达式3>; "?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果; 如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。 */
// 语法 布尔表达式1 ? 表达式1true执行 : (布尔表达式2 ? 表达式2的true执行 : 两个表达式都不成立执行语句)
例如:
var c = 3;
console.log( c==2?"这是2":(c==1?"这是1":(c==3?"这是3":"这个数不是1、2、3")) );//"这是3"
//使用 ***括号*** 是方便查看代码,方便阅读及程序执行
//换种写法 ↓
//与if(){}else if(){}else{}相似
var str = "";
if( c==2 ){
str = "这是2";
}else if( c==1 ){
str = "这是1";
}else if( c==3 ){
str = "这是3";
}else{
str = "这个数不是1、2、3"
}
//惊奇之处: ***三目运算有返回值!****
//而if语句 只会执行代码,没有返回值,除非自定义一个变量传入进去,进行赋值
建议在书写多条件的三目运算时,使用括号进行分隔开每段代码,方便自己查看以及程序执行
三目运算符执行多个条件
需求:我正在使用三目,我需要在满足条件中我让让它执行多个语句
三元运算符的结果语句可以执行多个操作,每个操作用逗号分隔就可以,例子如下:
var a=1;
使用括号用逗号分隔开多个语句 ↓
a>5?(alert(1),alert(2)):(alert(3),alert(4))
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/148265.html