mau*_*hez 0 javascript ternary-operator
我是三元运营商的新手.我有以下功能.我想了解发生了什么:
function toProperHex(hex) {
hex = hex.toLowerCase();
return hex ? hex != 'ffffff' ? '#' + hex : '#eee' : '#000';
}
Run Code Online (Sandbox Code Playgroud)
我知道之前的事情是什么?条件是什么,接下来是变量在条件为真时变为的值,并且在冒号之后,如果条件不为真,则变为可变的变量.现在显然有两个条件和三个可能的结果.这是一个带有三元结构的if/else if语句.澄清将不胜感激.
谢谢!
这是一条线上的两个三元运算符.它相当于:
if(hex) {
if(hex != 'ffffff') {
return '#' + hex;
} else {
return '#eee';
}
} else {
return '#000';
}
Run Code Online (Sandbox Code Playgroud)
我认为一行中的两个三元组是一个坏主意,使它们难以阅读.你基本上可以这样划分它
return hex ? (hex != 'ffffff' ? '#' + hex : '#eee') : '#000';
Run Code Online (Sandbox Code Playgroud)
括号帮助显示内部三元.
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |