JS中的运算符

本文详细解释了JavaScript中的逻辑运算符(&&,||,!)以及位运算符(&,|,~,<<,>>,^,>>>),包括它们的执行顺序、优先级和操作原理,帮助读者更好地掌握这些基础概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.&& 逻辑与

&&会从左到右执行表达式,直到某个表达式的运行结果返回false,如果全部为true,则返回最后一个中表达式的执行结果

console.log(1 && 2) // 2
console.log(1&&10&&15) // 15
console.log(1&&0&&15) // 0
console.log(1&&10&&5||0) // 5

1&&10&&5||0执行结果可以看出来 &&的运算符优先级高于||

可以理解为

(1&&10&&5)||0

2.|| 逻辑或

||会从左到右执行表达式,直到某个表达式的运行结果返回true,则返回该表达式的运行结果作为整个||表达式的运行结果;如果所有表达式的直接结果均为false,则返回最后一个表达式的执行结果作为整个||表达式的结果

console.log(2 || 3) // 2
console.log( 0 || 5 ) // 5
console.log((a=false) || undefined || 0) // 0

3. ! 逻辑非

!可以用来对一个值进行非运算,对条件取反。

两次取反等于本身

console.log(!true) // False
console.log(!0) // true
console.log(!!0) // 0

4.& 按位与

&:按位与运算符,将两个数的二进制的每一位进行与操作,只有两个数对应位都为 1 时结果位才为 1

5 & 3 // 0101 & 0011 = 0001 
// 结果输出为1

4.| 按位或

  • | 是按位或运算符,用于对两个数的二进制表示进行按位或操作。
     
  • | 是按位或运算符,用于处理整数的二进制位。
console(2 | 1) // 3

5.~ 按位非

~:非运算符,反转所有位,包括符号位

~10 // -11
// 输出-11,因为10的二进制是1010,按位非后变为0101,这是-11的二进制表示
~12 // -13

// 二进制取反+1

6. 移位运算符

<<:左移位运算符

10 <<2  //0000 1010 左移位之后 0010 1000

>> :右移位运算符,高位补0或者1

-10 >>2 // -3
10>>2 //2

7. 按位异或

按位异或运算符 ^
5 ^ 3 // 0101 ^ 0011 = 0110
// 结果为6

8.>>>无符号右移

>>>:将数字的二进制向右移动指定位数,无论原始数字结果如何,都用0补高位

-10>>>2 //1073741821

希望看完你对运算符有所了解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值