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备份”...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...

mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...