我是否使用|是否重要 或|| 作为一个或运营商?两者似乎都可以互换.
function Sum(num, sum) {
sum = sum | 0;
return sum;
}
function SumII(num, sum) {
sum = sum || 0;
return sum;
}
console.log(Sum(7));
//0
console.log(SumII(7));
//0Run Code Online (Sandbox Code Playgroud)
逻辑运算
使用||和&&替代|和&由于第一批使用"短路"的机制.因此,它们更有效(并且更安全),因为如果左项已经被评估为true/ false,则在不评估最后项的情况下知道结果.
例如:(对于未定义的x)
true | x // ReferenceError: x is not defined
true || x // true
false & x // ReferenceError: x is not defined
false && x // false
Run Code Online (Sandbox Code Playgroud)
比特运营
使用|和&.
例如:
4|2 回报 6
4 = 100b
2 = 010b
6 = 110b
(参见每列的OR运算:1 OR 0 = 1,0或1 = 1,0或0 = 0)
4||2 回报 4
4是一个"真"值(因为它不是0,false,null,"",undefined或NaN)=>结果不依赖于比特值=>操作员不会逐位
| 归档时间: |
|
| 查看次数: |
1891 次 |
| 最近记录: |