【Javascript保姆级教程】运算符
文章目录
- 前言
- 一、运算符是什么
- 二、赋值运算符
- 2.1 如何使用赋值运算符
- 2.2 示例代码1
- 2.3 示例代码2
- 三、自增运算符
- 3.1 ++运算符
- 3.2 示例代码1
- 3.3 示例代码2
- 四、比较运算符
- 4.1 常见的运算符
- 4.2 如何使用
- 4.3 示例代码1
- 4.4 示例代码2
- 五、逻辑运算符
- 逻辑运算符列举
- 六、运算符优先级
- 6.1 运算符优先级列举
- 6.2 示例代码1:运算符优先级
- 6.3 示例代码2:使用括号明确指定优先级
- 总结
前言
JavaScript是一种广泛应用的编程语言,它的基础知识对于编写前端和后端应用程序都至关重要。本教程将带您深入了解JavaScript中的五个关键概念:赋值运算符,自增运算符,比较运算符,逻辑运算符和运算符优先级。这些概念是编写任何JavaScript程序的基石。
一、运算符是什么
当我们编写计算机程序时,经常需要对数据进行各种操作,就像在数学中使用加号(+)或减号(-)一样。JavaScript的运算符就是一些特殊符号或关键字,它们帮助我们对数据进行各种操作,比如加法、减法、比较、判断等等。
举个例子,想象你有两个数字,想把它们相加。在JavaScript中,你可以使用加号运算符(+)来完成这个操作,就像这样:
let num1 = 5;
let num2 = 3;
let sum = num1 + num2; // 这里的+就是运算符,它把num1和num2相加,结果存储在sum中。

所以,运算符就是编程中用来执行各种数学和逻辑操作的特殊符号或关键字。它们让我们可以对数据进行处理和计算,是编程的基本工具之一。
二、赋值运算符
赋值运算符用于将一个值赋给一个变量。以下是常见的赋值运算符:
=:将右边的值赋给左边的变量。
2.1 如何使用赋值运算符
let x = 10; // 将10赋给变量x

2.2 示例代码1
使用=赋值变量
let name = "Alice";
let age = 30;

2.3 示例代码2
更新变量的值
let count = 5;
count = count + 1; // 将count的值增加1

三、自增运算符
自增运算符用于增加变量的值。以下是常见的自增运算符:
3.1 ++运算符
作用:将变量的值增加1。
如何使用
let x = 5;
x++; // x的值现在为6

3.2 示例代码1
使用自增运算符
let count = 0;
count++; // count的值增加1

3.3 示例代码2
自增运算符的前缀和后缀形式
let a = 5;
let b = 5;let x = a++; // 先赋值再增加,x=5, a=6
let y = ++b; // 先增加再赋值,y=6, b=6

四、比较运算符
4.1 常见的运算符
比较运算符用于比较两个值并返回一个布尔值(true或false)。以下是常见的比较运算符:
==:等于
!=:不等于
>:大于
<:小于
>=:大于等于
<=:小于等于
4.2 如何使用
let a = 5;
let b = 10;
let result = a > b; // result的值为false,因为a不大于b

4.3 示例代码1
使用比较运算符
let age = 25;
if (age >= 18) {console.log("成年人");
} else {console.log("未成年人");
}

4.4 示例代码2
比较字符串
let str1 = "apple";
let str2 = "banana";
let isEqual = str1 == str2; // isEqual的值为false

五、逻辑运算符
逻辑运算符列举
逻辑运算符用于组合多个条件,并返回一个布尔值。以下是常见的逻辑运算符:
&&:逻辑与(AND)
||:逻辑或(OR)
!:逻辑非(NOT)
当在JavaScript中使用这些符号时,它们有以下含义:
&&(逻辑与):这个符号用于连接两个条件,如果两个条件都为真(true),那么整个表达式就为真。可以将它想象成一种要求两个条件同时满足才能执行某个操作的情况。比如:
||(逻辑或):这个符号也用于连接两个条件,但只要其中一个条件为真,整个表达式就为真。可以将它想象成一种只要满足其中一个条件就能执行某个操作的情况。比如:
!(逻辑非):这个符号用于对一个条件取反,如果条件本来为真,取反后就变为假;如果条件本来为假,取反后就变为真。可以将它想象成一种否定某个条件的情况。比如:
这些逻辑运算符在编写JavaScript代码时非常有用,它们帮助我们根据条件来做出不同的决策和执行不同的操作。
六、运算符优先级
6.1 运算符优先级列举
JavaScript中的运算符有不同的优先级,这会影响表达式的求值顺序。以下是一些常见运算符的优先级:
():括号具有最高优先级,用于明确指定运算顺序。
++和--:自增和自减运算符的优先级较高。
*、/和%:乘法、除法和取余运算的优先级相等,比加法和减法高。
+和-:加法和减法的优先级相等。
>、<、>=、<=:比较运算符的优先级相等。
==和!=:等于和不等于运算符的优先级相等。
&&:逻辑与运算符的优先级高于逻辑或运算符。
||:逻辑或运算符的优先级较低。
6.2 示例代码1:运算符优先级
let result = 2 + 3 * 4; // 结果为14,因为乘法优先级高于加法

6.3 示例代码2:使用括号明确指定优先级
let result = (2 + 3) * 4; // 结果为20,因为括号改变了运算顺序

总结
本教程介绍了JavaScript中的五个重要概念:赋值运算符,自增运算符,比较运算符,逻辑运算符和运算符优先级。这些概念是编写JavaScript代码的基础,对于理解和掌握JavaScript非常重要。通过学习和实践,您将能够更加熟练地使用这些运算符来创建功能强大的JavaScript程序。不断练习并尝试不同的示例,以提高您的编程技能。
相关文章:
【Javascript保姆级教程】运算符
文章目录 前言一、运算符是什么二、赋值运算符2.1 如何使用赋值运算符2.2 示例代码12.3 示例代码2 三、自增运算符3.1 运算符3.2 示例代码13.3 示例代码2 四、比较运算符4.1 常见的运算符4.2 如何使用4.3 示例代码14.4 示例代码2 五、逻辑运算符逻辑运算符列举 六、运算符优先级…...
图论与网络优化
2.概念与计算 2.1 图的定义 2.1.1 定义 图(graph) G G G 是一个有序的三元组,记作 G < V ( G ) , E ( G ) , ψ ( G ) > G<V(G),E(G),\psi (G)> G<V(G),E(G),ψ(G)>。 V ( G ) V(G) V(G) 是顶点集。 E ( G ) E(G) E(G) 是边集。 ψ ( G ) \…...
【论文复现】基于多模态深度学习方法的单细胞多组学数据聚类(【生物信息学】实验二:多组学数据融合:scMDC)
目录 一、实验介绍 1. 论文:基于多模态深度学习方法的单细胞多组学数据聚类 Abstract 2. Github链接 二、实验环境 0. 作者要求 1. 环境复现 实验一 实验二(本实验) 2. 库版本介绍 实验一 实验二 3. IDE 三、实验内容 1. 用法…...
mysql按指定字符截取
1、使用SUBSTRING函数进行截取 语法:str是要截取的字符串,pos是起始位置,len是要截取的长度 SUBSTRING(str, pos, len)例子 SELECT SUBSTRING(Hello, World!, 1, 5);返回"Hello"。其中,起始位置为1,截取的…...
搜索引擎-在URL地址栏输入信息,不跳转
在URL地址栏输入信息,不跳转 原因解决待续 原因 因为没有使用某个搜索引擎,无法定位到资源 解决 先打开百度或搜狗其他引擎,在输入内容,跳转成功 待续 ————————————————————— 以上就是今日博客的全部内容…...
10种新型网络安全威胁和攻击手法
2023年,网络威胁领域呈现出一些新的发展趋势,攻击类型趋于多样化,例如:从MOVEit攻击可以看出勒索攻击者开始抛弃基于加密的勒索软件,转向窃取数据进行勒索;同时,攻击者们还减少了对传统恶意软件…...
Elasticsearch:painless script 语法基础和实战
摘要:Elasticsearch,Java script的作用 script是Elasticsearch的拓展功能,通过定制的表达式实现已经预设好的API无法完成的个性化需求,比如完成以下操作 字段再加工/统计输出字段之间逻辑运算定义查询得分的计算公式定义特殊过…...
《数据结构、算法与应用C++语言描述》使用C++语言实现数组双端队列
《数据结构、算法与应用C语言描述》使用C语言实现数组双端队列 定义 队列的定义 队列(queue)是一个线性表,其插入和删除操作分别在表的不同端进行。插入元素的那一端称为队尾(back或rear),删除元素的那一…...
TikTok Shop新结算政策:卖家选择权加强,电商市场蓄势待发
据悉,从2023年11月1日开始,TikTok Shop将根据卖家的店铺表现来应用3种不同类型的结算期,其中,标准结算期:资金交收期为8个日历日;快速结算期:资金交收期为3个日历日;延长结算期&…...
asp.net特色商品购物网站系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
一、源码特点 asp.net特色商品购物网站系统 是一套完善的web设计管理系统,系统采用mvc模式(BLLDALENTITY)系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 vs2010,数据库为sqlserver2008&a…...
解决一则诡异的javascript函数不执行的问题
有个vue 音乐播放器项目,由于之前腾讯的搜索接口没法用了,于是改成了别家的搜索接口。 但是由于返回数据结构不一样,代码重构的工作量还是挺大的:包括数据请求,数据处理,dom渲染,处理逻辑都进行…...
汽车安全的未来:毫米波雷达在碰撞避免系统中的角色
随着科技的飞速发展,汽车安全系统变得愈加智能化,而毫米波雷达技术正是这一领域的亮点之一。本文将深入探讨毫米波雷达在汽车碰撞避免系统中的关键角色,以及其对未来汽车安全的影响。 随着城市交通的拥堵和驾驶环境的变化,汽车安全…...
体感互动游戏研发虚拟场景3D漫游
体感互动游戏是一种结合虚拟现实(VR)或增强现实(AR)技术的游戏,允许玩家以身体动作和姿势来与游戏互动。这种类型的游戏通常需要特殊的硬件设备,例如体感控制器、摄像头或传感器,以捕捉玩家的动…...
微信小程序获取手机号(2023年10月 python版)[无需订阅]
技术栈: 1. 微信开发者工具中的调试基础库版本:3.1.2。 2. 后台:django。 步骤: 1. 首先在后台django项目的定时任务中增加一个下载access_token函数,并把得到的access_token保存在数据库中(其实随便哪里…...
Linux下设置网关以及网络相关命令
一、临时设置网关 查看当前路由表:route -n设置网关:route add default gw <路由器的网关IP> 注意:系统重启时,这些更改将不生效 二、永久设置网关 列出可用网络连接:nmcli connection show设置网关&#x…...
linux三剑客~sed命令的使用
1.工作原理: sed是一种流编辑器,它是文本处理中非常有用的工具 能够完美的配合正则表达式使用,处理时,把当前处理的行存储在临时缓冲区中,称为模式空间,接着用sed命令处理缓冲区中的内容 处理完成后&…...
virtualBox虚拟机安装多个+主机访问虚拟机+虚拟机访问外网配置
目的:本机安装3个虚拟机 一、虚拟机安装:Oracle VM VirtualBox (https://www.virtualbox.org/)源代码可下载,且免费使用 1、https://www.virtualbox.org/ 进入网站中Download 模块选择与自己电脑系统相应的下载包下载即可 如果安装过程报错如…...
正点原子嵌入式linux驱动开发——Linux按键输入
在前几篇笔记之中都是使用的GPIO输出功能,还没有用过GPIO输入功能,本章就来学习一下如果在Linux下编写GPIO输入驱动程序。正点原子STM32MP1开发板上有三个按键,就使用这些按键来完成GPIO输入驱动程序,同时利用原子操作来对按键值进…...
java--强制类型转换
类型范围大的数据或者变量,直接赋值给小范围的变量,会报错 1.强制类型转换 强行将类型范围大的变量、数据赋值给类型范围小的变量 2.强制类型转换在计算机中的执行原理 解释说明1:a是int类型有8个字节32位,然后在执行下一行代码…...
java后端调用接口Basic auth认证
该方法接收一个JSON字符串参数phoneNum 内容: {"phone":"13712312312"} 然后解析参数中的手机号,作为data去调用URL接口,接收接口返回的复合JSON并解析,拿到想要的数据public String queryUserResumeURLIn…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
