我刚刚看了一下这个答案,我注意到以下一行javascript代码:
hrs = (hrs - 12) || 12;
Run Code Online (Sandbox Code Playgroud)
我的问题:
'||'是什么 运算符在赋值时的意思?
小智 12
在这种情况下,如果hrs-12 = 0,则代码将12分配给hrs(如JavaScript所见,0 = false).
更一般地,如果前一个值的计算结果为0,则将后一个值赋给变量,空字符串,null,undefined等.
它总是意味着相同:逻辑OR
这是使用类型转换的常见技巧.许多非布尔表达式的计算结果为false.它与此相同:
hrs = (hrs-12)
if(!hrs){
hrs = 12;
}
Run Code Online (Sandbox Code Playgroud)
并且if()起作用,因为0转换为false.它还用于处理未定义的变量:
function foo(optionalValue){
var data = optionalValue || "Default value";
}
foo();
foo("My value");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10831 次 |
| 最近记录: |