JavaScript表达式和运算符
表达式
表达式一般由常量、变量、运算符、子表达式构成。最简单的表达式可以是一个简单的值。常量或变量。例:var a=10
运算符
运算符一般用符号来表示,也有些使用关键字表示。运算符由3中类型
1.一元运算符:一个运算符能够结合一个操作数,把一个操作数运算后转换为另一个操作数。
2.二元运算符:一个运算符可以结合两个操作数,形成一个复杂的运算,大部分都是二元运算符
3.单元运算符:一个运算符可以结合三个操作数,把三个操作数合并为表达式,最后返回一个值。
JavaScript运算符有:
| 分类 | 运算符 | 操作数类型 | 运算顺序 | 运算方向 | 说明 |
|---|---|---|---|---|---|
| 算数运算符 | + | 数值 | 12 | 左 | 两数相加 |
| ++ | 数值 | 14 | 右 | 自增 | |
| – | 数值 | 12 | 左 | 减法 | |
| – – | 数值 | 14 | 右 | 自减 | |
| – | 数字 | 14 | 右 | 一元求负 | |
| + | 数字 | 14 | 右 | 一元求正 | |
| * | 数值 | 13 | 左 | 乘法 | |
| / | 数值 | 13 | 左 | 除法 | |
| % | 数值 | 13 | 左 | 求余 | |
| 字符串运算符 | + | 字符串 | 12 | 连接两个字符串 | |
| += | 字符串 | 2 | 右 | 连接两个字符串,并将结果赋给第一个字符串 | |
| 逻辑运算符 | && | 布尔值 | 5 | 右 | 逻辑与全真则真 |
| || | 布尔值 | 4 | 左 | 逻辑或,全假则假 | |
| ! | 布尔值 | 14 | 右 | 逻辑非,真则假,假则真 | |
| 位运算符 | & | 整数 | 8 | 左 | 按位与,两个操作数对应位都是1,返回1 |
| | | 整数 | 6 | 左 | 按位或,两个操作数对应位都为0,返回0 | |
| ^ | 整数 | 7 | 左 | 按位异或。两个操作数对应位值有一个1则返回1 | |
| ~ | 整数 | 14 | 右 | 求反 | |
| << | 整数 | 11 | 左 | 左移(将第一操作数二进制的形式的每一位向左移,移动的位数由第二操作数决定。右面补0) | |
| >> | 整数 | 11 | 左 | 右移(将第一操作数二进制的形式的每一位向右移,移动的位数由第二操作数决定。忽略被移出的位) | |
| >>> | 整数 | 11 | 左 | 逻辑右移(将第一操作数二进制的形式的每一位向右移,移动的位数由第二操作数决定。忽略被移出的位,左面补0) | |
| 赋值运算符 | = | 标识符,任意 | 2 | 右 | 将第二操作数的值赋给第一操作数 |
| += | 标识符,任意 | 2 | 右 | 两数相加,将和赋给第一个数 | |
| –= | 标识符,任意 | 2 | 右 | 两数相减,将值赋给第一个数 | |
| *= | 标识符,任意 | 2 | 右 | 两数相乘,将值赋给第一个数 | |
| /= | 标识符,任意 | 2 | 右 | 两数相除,将商赋给第一个数 | |
| &= | 标识符,任意 | 2 | 右 | 执行按位与,将结果赋给第一个操作数 | |
| ^= | 标识符,任意 | 2 | 右 | 执行按位异或,将结果赋给第一个操作数 | |
| |= | 标识符,任意 | 2 | 右 | 执行按位或,将结果赋给第一个操作数 | |
| <<= | 标识符,任意 | 2 | 右 | 执行左移,将结果赋给第一个操作数 | |
| >>= | 标识符,任意 | 2 | 右 | 执行右移,将结果赋给第一个操作数 | |
| >>>= | 标识符,任意 | 2 | 右 | 执行逻辑右移,将结果赋给第一个操作数 | |
| %= | 标识符,任意 | 2 | 右 | 计算两个数相除的余数,并将余数赋给第一个数 | |
| 比较运算符 | == | 任意 | 9 | 左 | 操作数相等,则返回真 |
| === | 任意 | 9 | 左 | 操作数完全相等,则返回真 | |
| != | 任意 | 9 | 左 | 操作数不相等,则返回真 | |
| !== | 任意 | 9 | 左 | 操作数不完全相等,则返回真 | |
| > | 数值或字符串 | 10 | 左 | 左操作数大于右操作数,返回真 | |
| < | 数值或字符串 | 10 | 左 | 左操作数小于右操作数,返回真 | |
| >= | 数值或字符串 | 10 | 左 | 左操作数大于等于右操作数,返回真 | |
| <= | 数值或字符串 | 10 | 左 | 左操作数小于等于右操作数,返回真 | |
| 特殊运算符 | ?: | 布尔值,任意,任意 | 3 | 右 | 执行一个简单的if···else语句 |
| , | 任意 | 1 | 左 | 计算两个表达式,返回第二个表达式的值 | |
| delete | 属性标识 | 14 | 右 | 允许删除一个对象的属性或数组中的指定元素 | |
| new | 类型,参数 | 15 | 右 | 允许创建一个用户自定义的对象类型或内建对象类型的实例 | |
| typeof | 任意 | 14 | 右 | 返回一个字符串,并说明其数据类型 | |
| instanceof | 对象,类型 | 10 | 左 | 检查对象的类型 | |
| in | 字符串,对象 | 10 | 左 | 检查一个属性是否存在 | |
| void | 任意 | 14 | 右 | 计算一个表达式但不返回值 | |
| . | 对象,标识符 | 15 | 左 | 属性存取 | |
| [ ] | 数组,整数 | 15 | 左 | 数组下标 | |
| ( ) | 函数,参数 | 15 | 左 | 函数调用 | |
| 实例: |
<script>var a=10var b=20var c=a+bdocument.write("结果是:"+c)</script>

相关文章:
JavaScript表达式和运算符
表达式 表达式一般由常量、变量、运算符、子表达式构成。最简单的表达式可以是一个简单的值。常量或变量。例:var a10 运算符 运算符一般用符号来表示,也有些使用关键字表示。运算符由3中类型 1.一元运算符:一个运算符能够结合一个操作数&…...
爬虫实训案例:中国大学排名
近一个月左右的时间学习爬虫,在用所积累的知识爬取了《中国大学排名》这个网站,爬取的内容虽然只是可见的文本,但对于初学者来说是一个很好的练习。在爬取的过程中,通过请求数据、解析内容、提取文本、存储数据等几个重要的内容入…...
C++ IO流
C标准IO流 使用cout进行标准输出,即数据从内存流向控制台(显示器)使用cin进行标准输入,即数据通过键盘输入到程序中使用cerr进行标准错误的输出使用clog进行日志的输出 C文件IO流 文件流对象 ofstream:只写 ofstream 是 C 中用于输出文件…...
debian nginx upsync consul 实现动态负载
1. consul 安装 wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [signed-by/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_r…...
前端基础入门三大核心之HTML篇 —— 同源策略的深度解析与安全实践
前端基础入门三大核心之HTML篇 —— 同源策略的深度解析与安全实践 一、同源策略:定义与起源1.1 定义浅析1.2 何为“源”?1.3 起源与意义 二、同源策略的运作机制2.1 限制范围2.2 安全边界 三、跨越同源的挑战与对策3.1 JSONP3.2 CORS3.3 postMessage 四…...
go 微服务框架 kratos 日志库使用方法及原理探究
一、Kratos 日志设计理念 kratos 日志库相关的官方文档:日志 | Kratos Kratos的日志库主要有如下特性: Logger用于对接各种日志库或日志平台,可以用现成的或者自己实现Helper是在您的项目代码中实际需要调用的,用于在业务代码里…...
VC++位移操作>>和<<以及逻辑驱动器插拔产生的掩码dbv.dbcv_unitmask进行分析的相关代码
VC位移操作>>和<<以及逻辑驱动器插拔产生的掩码dbv.dbcv_unitmask进行分析的相关代码 一、VC位移操作符<<和>>1、右位移操作符 >>:2、左位移操作符 <<: 二、逻辑驱动器插拔产生的掩码 dbv.dbcv_unitmask 进行分析的…...
查看gpu
## 查看gpu信息 if_cuda torch.cuda.is_available() print("if_cuda",if_cuda)gpu_count torch.cuda.device_count() print("gpu_count",gpu_count)...
CSS与表格设计
在网页设计中,表格是一种不可或缺的元素,用于展示和组织数据。虽然HTML提供了基本的表格结构,但通过CSS(层叠样式表)的应用,我们可以极大地提升表格的外观和用户体验。本文将探讨如何利用CSS来设计既美观又…...
阴影映射(线段树)
实时阴影是电子游戏中最为重要的画面效果之一。在计算机图形学中,通常使用阴影映射方法来实现实时阴影。 游戏开发部正在开发一款 2D 游戏,同时希望能够在 2D 游戏中模仿 3D 游戏的光影效果,请帮帮游戏开发部! 给定 x-y 平面上的…...
Docker 容器间通讯
1、虚拟ip/访问 同一网络 安装docker时,docker会默认创建一个内部的桥接网络docker0,每创建一个容器分配一个虚拟网卡,容器之间(包括宿主机)可以根据分配的ip互相访问(ps:其他主机(包括其他主机的容器)无法ping通docker容器ip无法访问&#…...
C语言章节学习归纳--数据类型、运算符与表达式
3.1 C语言的数据类型(理解) 首先,对变量的定义可以包括三个方面: 数据类型 存储类型 作用域 所谓数据类型是按被定义变量的性质,表示形式,占据存储空间的多少,构造特点来划分的。在C语言中&…...
Centos 7.9 使用 iso 搭建本地 YUM 源
Centos 7.9 使用 iso 搭建本地 YUM 源 1 建立挂载点 [rootlocalhost ~]# mkdir -p /media/cdrom/ 2 创建光盘存储路径 [rootlocalhost ~]# mkdir -p /mnt/cdrom/ 3 上传 CentOS-7-x86_64-Everything-2207-02.iso 到 光盘存储路径 [rootlocalhost ~]# ls /mnt/cdrom/ CentOS-…...
NFT Insider #131:Mocaverse NFT市值破3.5万ETH,The Sandbox 参加NFCsummit
引言:NFT Insider由NFT收藏组织WHALE Members(https://twitter.com/WHALEMembers)、BeepCrypto (https://twitter.com/beep_crypto)联合出品,浓缩每周NFT新闻,为大家带来关于NFT最全面、最新鲜、…...
BatBot智慧能源管理平台,更加有效地管理能源
随着能源消耗的不断增加,能源管理已成为全球面临的重要问题。BatBot智慧能源管理作为一种的能源管理技术,促进企业在用能效率及管理有着巨大的提升。 BatBot智慧能源管理是一种基于人工智能技术的能源管理系统,通过智能分析和优化能源使用&…...
医院预约挂号系统微信小程序APP
医院预约挂号小程序,前端后台(后台 java spring boot mysql) 医院预约挂号系统具体功能介绍:展示医院信息、可以注册和登录, 预约挂号(包含各个科室的预约,可以预约每个各个医生)&…...
【代码随想录 二叉树】二叉树前序、中序、后序遍历的迭代遍历
文章目录 1. 二叉树前序遍历(迭代法)2. 二叉树后序遍历(迭代法)3. 二叉树中序遍历(迭代法) 1. 二叉树前序遍历(迭代法) 题目连接 🍎因为处理顺序和访问顺序是一致的。所…...
Error:(6, 43) java: 程序包org.springframework.data.redis.core不存在
目录 一、在做SpringBoot整合Redis的项目时,报错: 二、尝试 三、解决办法 一、在做SpringBoot整合Redis的项目时,报错: 二、尝试 给依赖加版本号,并且把版本换了个遍,也不行,也去update过ma…...
Qt 科目一考试系统(有源码)
项目源码和资源:科目一考试系统: qt实现科目一考试系统 一.项目概述 该项目是一个基于Qt框架开发的在线考试系统,主要实现了考试题目的随机抽取、考试时间限制、成绩统计等功能。用户可以通过界面操作进行考试,并查看自己的考试成绩。 二.技…...
在 Visual Studio 2022 (VS2022) 中删除 Git 分支的步骤如下
git branch -r PS \MauiApp1> git push origin --delete “20240523备份” git push origin --delete “20240523备份”...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
