当前位置: 首页 > news >正文

JS中的运算符

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

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

http://www.lryc.cn/news/335063.html

相关文章:

  • Webots常用的执行器(Python版)
  • mySql数据库学习002-表数据查询操作
  • 【STL】stack与queue的底层原理及其实现
  • Ai大模型如何应用到机器视觉系统中
  • IntelliJ IDEA下载及安装教程(Windows操作系统)
  • 01 Python进阶:正则表达式
  • pdf图片识别分类
  • 24双非考研哈尔滨工程大学计算机(@程程笔记)
  • IO流(2.其他流)
  • PyTorch之计算模型推理时间
  • layui后台框架,将左侧功能栏目 集中到一个页面,通过上面的tab切换 在iframe加载对应页面
  • 【网络原理】使用Java基于TCP搭建简单客户端与服务器通信
  • Hadoop生态系统主要是什么?
  • GlusterFS分布式文件系统
  • spark本地模拟多个task时如何启动多个Excutor
  • RocketMQ笔记(八)SpringBoot整合RocketMQ广播消费消息
  • Appium如何自动判断浏览器驱动
  • MVCC-多版本并发控制
  • c++找最高成绩
  • 前端saas化部署
  • [Java基础揉碎]Math类
  • MyBatis输入映射
  • 金三银四,程序员求职季
  • [react优化] 避免组件或数据多次渲染/计算
  • 「意」起出发 丨意大利OXO城市展厅盛大启幕,成都设计圈共襄盛举
  • 你不知道的JavaScript---深入理解 JavaScript 作用域
  • FPGA(Verilog)实现按键消抖
  • 第十二届蓝桥杯大赛软件赛省赛C/C++大学B组
  • 面了钉钉搜广增算法岗(暑期实习),秒挂。。。。
  • 前端实现流文件下载的完整指南