- 三元运算符又称为三目运算符,指的是根据不同的条件,执行不同的操作/返回不同的值。语法结构为:条件 ? 操作1 : 操作2。 如果条件为真,执行操作1,否则执行操作2。
var a = 100;
var b = 20;
var c = a > b ? a : b;
console.log(c);
- 三元运算符单个处理起来简单,但是一旦嵌套并且与其它运算符一起使用时,就会比较恶心;
let a = 18;
let b = 28;
let c = 34;
let d = 7;
let e;
let m;
e = (e = a > 3 ? b : c, m = e < b++ ? c-- : a = 3 > b % d ? 27: 37, m++);
console.log(e); // 27
console.log(c); // 34
console.log(m); // 28
//拆分思路
/*
* e = a > 3 ? b : c
* e = b = 28
* m = e < b++ ? c-- : a = 3 > b % d ? 27: 37
* e < b++ -->false b = 29
* m = a = 3 > b % d ? 27: 37
* m = a = 3 > 1 ? 27: 37
* m = a = 27
* m++ m = 28
* e = (28,27,27) e = 27 m++,需要先赋值在自增
* */