前端中‘==’和‘===’与‘&’和‘&&’与‘||’和‘|’的区别?
‘$$ ||’ 逻辑运算符; ‘$ |’位运算符
“==”和“===”的区别:
==: 先检查类型是否相同,如果不同, 则进行类型转换后再进行比较; ===: 如果类型不同,直接就是false.
"&"和“&&”的区别:
&和&&都表示:符号两端必须同时为真,最后的结果为真;其中一端为假,则最后的结果为假
不同之处:
用&时,左端为假,还需要继续判断右端真假;
用&&时,左端为假,则不需要判断右端真假,即右端不需要进行运算
“|”和“||”的区别:
相同之处:
| 和 || 都表示:符号两端中有一端为真时,最后的结果为真;两端都为假时,最后的结果为假
不同之处:
用 | 时,左端无论真假(即使为真),右端还要继续运算;
用 || 时,左端为真,右端不需要进行运算,结果直接为真
总结:
&和&&最后的结果相同,| 和 || 最后的结果也相同
但&&和 || 更为高效一点,可以减少不必要的运算
补充:<< 符号是 js 中的位操作符,1 << N 的意思是:将数字 1 的位向左移动 N 位。