前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【JavaScript】JavaScript 运算符 ⑤ ( 运算符优先级 )

【JavaScript】JavaScript 运算符 ⑤ ( 运算符优先级 )

作者头像
韩曙亮
发布于 2024-03-23 00:39:39
发布于 2024-03-23 00:39:39
37800
代码可运行
举报
运行总次数:0
代码可运行

一、JavaScript 运算符优先级

1、运算符优先级 概念

JavaScript 的 运算符 是有 " 优先级 " 的 , " 运算符优先级 " 决定 一个表达式中 多个 运算符的 执行顺序 ;

一个 表达式 中 , 有多个运算符 , " 运算符优先级 " 决定了 哪个 运算符 首先与操作数结合 ;

  • 运算符优先级不同 : 优先级较高的运算符 比 优先级较低的运算符 先与 操作数 结合 ;
  • 运算符优先级相同 : 运算符的优先级相同 , 则根据运算符的结合性 判定 哪个先与 操作数 结合 ;

小括号 优先级最高 , 可以直接改变 运算符 的 结合性 ;

一元运算符 的 优先级 仅次于 小括号 ;

2、运算符优先级 列举

下面的 运算符 优先级 按照 从上到下 顺序 , 优先级由高到低 ;

JavaScript 中的 运算符 优先级顺序 :

  • 括号运算符 :
    • 小括号运算符 () 可以直接 用于改变 正常的 运算符 的 优先级顺序 ;
  • 一元运算符 : 下面的 运算符 优先级相同 ;
    • 递增运算符 ++ : 前置递增 / 后置递增 ;
    • 递减运算符 -- : 前置递减 / 后置递减 ;
    • 一元加运算符 +
    • 一元减运算符 -
    • 逻辑非运算符 !
  • 算术运算符 :
    • 乘除运算符 : 下面的 运算符 优先级相同 ;
      • 乘法运算符 *
      • 除法运算符 /
      • 取模运算符 %
    • 加减运算符 : 下面的 运算符 优先级相同 ;
      • 加法运算符 +
      • 减法运算符 -
    • 位移运算符 : 下面的 运算符 优先级相同 ;
      • 左移运算符 <<
      • 右移运算符 >>
      • 无符号右移运算符 >>>
    • 关系运算符 :
      • 小于运算符 <
      • 大于运算符 >
      • 小于等于运算符 <=
      • 大于等于运算符 >=
    • 相等运算符 :
      • 等于运算符 ==
      • 不等于运算符 !=
      • 严格等于运算符 ===
      • 严格不等于运算符 !==
    • 逻辑运算符 : && 操作符优先级 高于 || 操作符 ;
      • 逻辑与运算符 &&
      • 逻辑或运算符 ||
    • 赋值运算符 :
      • 赋值运算符 =
      • 加法赋值运算符 +=
      • 减法赋值运算符 -=
      • 乘法赋值运算符 *=
      • 除法赋值运算符 /=
      • 取模赋值运算符 %=
      • 左移赋值运算符 <<=
      • 右移赋值运算符 >>=
    • 逗号运算符 ,

3、运算符示例

在下面的代码中 , 分析代码中表达式的 运算符优先级 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var exp = 2 > 3 || "Tom" == "Jerry" && !(2 * 3 == 6) && false
console.log(exp)

分析 上述 表达式 2 > 3 || "Tom" == "Jerry" && !(2 * 3 == 6) && false 中的 运算符优先级 :

  • 小括号 运算符 优先级最高 , (2 * 3 == 6) 中的运算符是结合在一起进行运算的 ; 2 * 3 == 6 中 , 算术运算符 * 优先级高于 相等运算符 == 优先级 , 先计算 乘法 得到 6 , 然后计算 == 是否相等 , 最终得到 true 值 ;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2 > 3 || "Tom" == "Jerry" && !(true) && false
  • 一元运算符 ! 高于 除 小括号 意外的其它运算符 , 然后计算该运算 , !true 得到 false ;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2 > 3 || "Tom" == "Jerry" && false && false
  • 2 > 3 中的 > 优先级 是目前最高的 , 计算得到结果 false ;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
false || "Tom" == "Jerry" && false && false
  • "Tom" == "Jerry" 中的 == 运算符 目前优先级最高 , 计算得到结果 false ;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
false || false && false && false
  • 逻辑与 && 运算符 优先级 高于 逻辑或 || 运算符 , 先计算 && 运算 , 有多个 && 运算 , 从左到右结合即可 ;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
false || false
  • 最后计算 逻辑或 || 操作 , 得到 false 结果 ;

完整代码如下 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JavaScript</title>
    <style></style>
    <script>
        // 运算符优先级

        var exp = 2 > 3 || "Tom" == "Jerry" && !(2 * 3 == 6) && false
        console.log(exp)
    </script>
</head>

<body>
</body>

</html>

执行结果 :

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
c# 模拟window 操作鼠标|winapi
适合场景:LinkButton如果想要弹出右键菜单的时候,可以在Click事件中通过API模拟鼠标右击事件。
跟着阿笨一起玩NET
2018/09/18
1.3K0
Python PyWin32 模块
Python的生产效率极高,通过使用pypiwin32模块可以快速调用windows API函数,结合Python的高效开发能力,同等时间内比C++能更快的达到目标,pypiwin32模块封装了Win32下的常用定义,函数方法等。
王 瑞
2022/12/28
2.3K0
Python PyWin32 模块
在windows下模拟鼠标键盘输入的几种方法 (附带源代码)
在windows下模拟鼠标键盘输入的几种方法     最近小叮咚使用的服务器(第3方的asp服务器,不是iis)在启动后总是不能自动运行,可能里面有Bug,需要点击启动按钮后才能连接到internet
田春峰-JCJC错别字检测
2019/02/14
9K0
12.4 组播鼠标批量执行
组播模式相比单播模式可以提高网络的效率和带宽利用率,因为组播数据包只需要发送一次,就可以被多个接收者接收,而不需要每个接收者都单独发送一份数据包。这在需要同时向多个接收者发送相同数据的场景下特别有用,如视频会议、在线教育、流媒体等。组播模式可以减少网络拥塞,降低网络延迟,并且可以减少网络中的冗余数据。
王 瑞
2023/10/24
4250
12.4 组播鼠标批量执行
外挂基础_开挂的正确姿势
  所谓游戏外挂,其实是一种游戏外辅程序,它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游戏内存数据等,以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。虽然,现在对游戏外挂程序的“合法”身份众说纷纭,在这里我不想对此发表任何个人意见,让时间去说明一切吧。
全栈程序员站长
2022/11/10
2.5K0
简单的WinForm模拟鼠标操作
需要做一个类似按键精灵的软件,通过后台数据进行控制鼠标对桌面上的图标进行自动点击控制。目前只是打通了鼠标的操作,还需要将程序做成可以后台运行及自动隐藏到右下角。先将鼠标移动和点击的方法记录下来以备以后的使用。。
谭广健
2022/08/22
1.6K0
【C语言】扫雷(可展开空白版与鼠标操作版)
扫雷游戏是一款经典的单人电脑游戏,最初由微软公司开发。玩家需要根据数字提示,在不触雷的情况下揭开所有格子。这是一款考验逻辑思维和运气的游戏,而我们将用C语言来实现它。
DevKevin
2024/03/19
1480
c#QQ连连看辅助
游戏辅助有三种方法,一种是读内存,这个不知道怎么分析,还有一种是获取封包,这个分析起来复杂,最后一种是图片识别再分析,这里采用最后一种 图片识别来做。
冰封一夏
2019/09/11
6980
【python自动化】Playwright基础教程(八)鼠标操作
playwright模拟鼠标操作,每个page对象都有自己的鼠标事件,可以通过page.mouse调用。
梦无矶小仔
2023/09/28
2.7K0
【python自动化】Playwright基础教程(八)鼠标操作
12.1 使用键盘鼠标监控钩子
本节将介绍如何使用Windows API中的SetWindowsHookEx和RegisterHotKey函数来实现键盘鼠标的监控。这些函数可以用来设置全局钩子,通过对特定热键挂钩实现监控的效果,两者的区别在于SetWindowsHookEx函数可以对所有线程进行监控,包括其他进程中的线程,而RegisterHotKey函数只能对当前线程进行监控。
王 瑞
2023/10/07
6050
12.1 使用键盘鼠标监控钩子
python win32api教程_解放双手——python win32api 入门「建议收藏」
put(str=”,flag=0):flag默认为0,则表示输入的字符串,为1:字符要表示的是快捷组合按键,快捷键要用空格分开
全栈程序员站长
2022/11/10
1.9K0
opencv锁定鼠标定位
淼学派对
2023/10/14
2360
opencv锁定鼠标定位
CSharp通过Websocket传输图片在WEB端显示及传递鼠标事件
这个代码示例提供了三个按钮,分别用于模拟鼠标的移动、点击和拖拽操作。在 btnMove_Click 中,我们首先获取当前鼠标光标的位置,并将其向右下角移动 10 个像素,然后等待 500 毫秒,最后将鼠标光标移回原来的位置。在 btnClick_Click 中,我们模拟了鼠标左键按下和抬起的事件。在 btnDrag_Click 中,我们模拟了鼠标的拖拽事件。
码客说
2023/05/31
8410
OpenCV-Python学习(15)—— OpenCV 鼠标操作和响应(cv.setMouseCallback)
1. 学习目标 学习如何在OpenCV中处理鼠标事件; 学习鼠标事件与回调; 学习鼠标事件回调函数的基本流程。 2. Callback 基本流程 3. 鼠标事件 cv.setMouseCallback 函数说明 3.1 cv.setMouseCallback() 函数使用 cv.setMouseCallback(winname,onMouse,userdata) 3.2 参数说明 参数 说明 winname 表示监听鼠标事件的窗口。 onMouse 表示响应函数,即当鼠标事件触发时调用的函数。 user
Rattenking
2022/11/21
1.8K0
OpenCV-Python学习(15)—— OpenCV 鼠标操作和响应(cv.setMouseCallback)
python模拟鼠标点击window图标
#python模拟点击是通过pymouse实现的,首先要安装pymouse。 pip install python-xlib pip install pymouse #安装win32api: http://down.51cto.com/data/2326324 #python打开windos程序的方式: #coding=utf-8 import os os.startfile('E:\youxi\Correspond.exe') #python pymouse的简单应用: #python模拟鼠标 #codi
py3study
2020/01/09
3.1K0
《最新出炉》系列入门篇-Python+Playwright自动化测试-45-鼠标操作-下篇
鼠标为我们使用电脑提供了很多方便,我们看到的东西就可以将鼠标移动过去进行点击就可以打开或者访问内容,当页面内容过长时,我们也可以使用鼠标滚轮来实现对整个页面内容的查看,其实playwright也有鼠标操作的方法。上一篇文章中已经讲解过鼠标的部分操作了,今天宏哥在这里将剩下的其他操作进行一个详细地介绍和讲解。
北京-宏哥
2024/05/06
3060
【从零学习OpenCV 4】鼠标响应
经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《从零学习OpenCV 4》。为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通,提前在公众号上连载部分内容,请持续关注小白。
小白学视觉
2019/12/13
1.2K0
番外篇: 鼠标绘图
OpenCV中,我们需要创建一个鼠标的回调函数来获取鼠标当前的位置、当前的事件如左键按下/左键释放或是右键单击等等,然后执行相应的功能。
CodecWang
2021/12/07
7860
番外篇: 鼠标绘图
Python在windows下模拟按键和鼠标点击代码
这段代码可以模拟在窗口上按下按键、鼠标左键点击、鼠标右键点击、鼠标双击等等 # * coding:UTF-8 * import win32api import win32con import win32gui from ctypes import * import time VK_CODE = { 'backspace':0x08, 'tab':0x09, 'clear':0x0C, 'enter':0x0D, 'shift':0x10, 'ctrl':0x1
用户8983410
2021/11/03
1.9K0
硬核教程 - 使用Rust编写网游FPS外挂辅助
优势:Rust没有GC 效率和C++一样快 本贴子主要用于观摩和学习调用windows api,禁止用于某些用途
MikeLoveRust
2020/07/16
2.1K0
推荐阅读
相关推荐
c# 模拟window 操作鼠标|winapi
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档