第一次看到这样的三元表达式:
var somevar = b1 ? b2 ? b3 : b4 : b5 ? b6 : b7 ? b8 : b9 ? b10 : b11
Run Code Online (Sandbox Code Playgroud)
很难理解并将其转换为:
if (b1) {
} else if (bx) {
}
Run Code Online (Sandbox Code Playgroud)
我到处寻找,似乎无法找到答案.
只需添加括号.
var somevar = (b1 ? (b2 ? b3 : b4) : (b5 ? b6 : (b7 ? b8 : (b9 ? b10 : b11))))
Run Code Online (Sandbox Code Playgroud)
即
if (b1) {
if (b2) {
b3
} else {
b4
}
} else {
if (b5) {
b6
} else {
if (b7) {
b8
} else {
if (b9) {
b10
} else {
b11
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者缩短它.
if (b1) {
if (b2) {
b3
} else {
b4
}
} else if (b5) {
b6
} else if (b7) {
b8
} else if (b9) {
b10
} else {
b11
}
Run Code Online (Sandbox Code Playgroud)
从最右边开始.每当你发现a ? b : c在它周围添加括号.
例如:
a ? b ? c : d : e
a ? (b ? c : d) : e
(a ? (b ? c : d) : e)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |