运算符: && 和 ||
a && b
当a为假时直接返回a,当a为真时返回b
a || b
当a为真时直接返回a,当a为假时返回b
位运算
- & 二进制按位与操作
只有对应的数都为1时,才为1;否则为0
判断奇偶数,与1按位与操作,结果为1时判定为奇数,0则判定为偶数
//是否偶数
function isEvenNumber(num){
if(num & 1){
return false;
}
return true;
}
console.log(isEvenNumber(7)); //false
- | 二进制按位或操作
只要对应的数有一个为1时,就为1;其余为0
可应用于数值取整
console.log( 3.666 | 0 ); //3
- ~ 二进制按位非操作
求二进制数的反码
可应用于数值取整
console.log( ~~(3.666) ); //3
二进制按位异或操作 ^
只有对应的数只有一个为1时,才为1,其余为0
二进制有符号右移操作 >>
将二进制数的所有位向右移动指定位
二进制有符号左移操作 <<
将二进制数的所有位向右移动指定位
左移与右均可应用于数值取整,利用位运算取整的计算原理相同,均是因为小数不支持位运算,所以计算时会把浮点数小数部分丢弃,再进行位运算
console.log( 3.666 >> 0 ); //3
console.log( 3.666 << 0 ); //3