JavaScript 运算符 功能 用法运用 详解

news/2025/3/10 19:42:18/文章来源:https://www.cnblogs.com/baisemoshui/p/18763470

JavaScript 运算符是用于执行特定操作的符号,它们帮助开发者对变量、值或表达式进行计算、比较、赋值等操作。以下是对 JavaScript 运算符的功能、用法及运用的详细解析:

算术运算符

功能:用于执行数学运算。

用法

运算符 描述 示例
+ 加法 var sum = 5 + 3; // sum 为 8
- 减法 var diff = 10 - 2; // diff 为 8
* 乘法 var product = 2 * 3; // product 为 6
/ 除法 var quotient = 10 / 2; // quotient 为 5
% 取模(求余数) var remainder = 15 % 4; // remainder 为 3
** 指数运算(幂) var result = 2 ** 3; // result 为 8
++ 递增(自增) var a = 2; a++; // a 为 3
-- 递减(自减) var b = 5; b--; // b 为 4

注意

  • 当操作数不是数字时,JavaScript 会尝试将其转换为数字。
  • 递增和递减运算符有前缀和后缀两种形式,前缀形式先增减后返回值,后缀形式先返回值后增减。

赋值运算符

功能:用于将值赋给变量。

用法

运算符 描述 示例
= 简单赋值 var x = 10; // x 为 10
+= 加后赋值 var y = 5; y += 3; // y 为 8
-= 减后赋值 var z = 10; z -= 2; // z 为 8
*= 乘后赋值 var a = 2; a *= 3; // a 为 6
/= 除后赋值 var b = 10; b /= 2; // b 为 5
%= 取模后赋值 var c = 15; c %= 4; // c 为 3

比较运算符

功能:用于比较两个值的大小或相等性。

用法

运算符 描述 示例
== 等于(类型不同会进行类型转换) var isEqual = 5 == '5'; // isEqual 为 true
=== 严格等于(类型和值都必须相等) var isStrictEqual = 5 === '5'; // isStrictEqual 为 false
!= 不等于(类型不同会进行类型转换) var isNotEqual = 5 != '5'; // isNotEqual 为 false
!== 严格不等于(类型和值都不相等) var isStrictNotEqual = 5 !== '5'; // isStrictNotEqual 为 true
> 大于 var isGreater = 10 > 5; // isGreater 为 true
< 小于 var isLess = 5 < 10; // isLess 为 true
>= 大于等于 var isGreaterOrEqual = 10 >= 10; // isGreaterOrEqual 为 true
<= 小于等于 var isLessOrEqual = 5 <= 5; // isLessOrEqual 为 true

逻辑运算符

功能:用于组合多个条件,确定一个条件是否为真。

用法

运算符 描述 示例
&& 逻辑与(AND) var isTrue = true && false; // isTrue 为 false
` `
! 逻辑非(NOT) var isTrue = !false; // isTrue 为 true

注意

  • 逻辑与运算符 && 只有当两侧都为 true 时,结果才为 true
  • 逻辑或运算符 || 只要有一侧为 true,结果就为 true
  • 逻辑非运算符 ! 用于取反,将 true 变为 false,将 false 变为 true

条件(三元)运算符

功能:根据条件表达式的结果返回两个可能的结果之一。

用法

var result = (condition) ? value1 : value2;
  • 如果 conditiontrue,则返回 value1
  • 如果 conditionfalse,则返回 value2

示例

var isEven = (5 % 2 === 0) ? 'Even' : 'Odd'; // isEven 为 'Odd'

位运算符

功能:直接对二进制位进行操作。

用法

运算符 描述 示例
& 按位与(AND) var result = 5 & 3; // result 为 1
` ` 按位或(OR)
^ 按位异或(XOR) var result = 5 ^ 3; // result 为 6
~ 按位非(NOT) var result = ~5; // result 为 -6
<< 左移 var result = 5 << 1; // result 为 10
>> 右移 var result = 10 >> 1; // result 为 5

运算符优先级

JavaScript 运算符的优先级决定了表达式中运算的执行顺序。优先级高的运算符会先于优先级低的运算符执行。

优先级顺序(从高到低)

  1. 括号 ()
  2. 一元运算符(如 ++--!
  3. 幂运算符 **
  4. 乘法、除法、取模运算符 */%
  5. 加法、减法运算符 +-
  6. 比较运算符 ><>=<=
  7. 相等运算符 ==!====!==
  8. 逻辑与运算符 &&
  9. 逻辑或运算符 ||
  10. 条件运算符 ?:
  11. 赋值运算符 =+=-=

示例

var result = 1 + 2 * 3; // 先计算 2 * 3,结果为 6,再计算 1 + 6,结果为 7
var result = (1 + 2) * 3; // 使用括号改变优先级,先计算 1 + 2,结果为 3,再计算 3 * 3,结果为 9

总结

JavaScript 运算符提供了丰富的功能,能够满足各种计算、比较、赋值等需求。了解并熟练运用这些运算符,有助于提高代码的可读性和效率。在实际开发中,建议根据具体需求选择合适的运算符,并注意运算符的优先级,以避免潜在的错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/896939.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.10 学习记录

实现了员工页面的前端代码实现点击查看代码 <script setup> import { ref, onMounted } from vue import axios from axiosconst searchEmp = ref({name: ,gender: ,job: , })onMounted(() => {search(); })const search = async () => {const url = `https://web-…

transformer 中的掩码类型

知识是我们已知的也是我们未知的基于已有的知识之上我们去发现未知的由此,知识得到扩充我们获得的知识越多未知的知识就会更多因而,知识扩充永无止境

如何设计、维护和推广 API:专业人士的实用指南

API 在今天的数字化环境中扮演着至关重要的角色,它们作为系统和应用程序之间的连接纽带。对于公司而言,打造用户喜爱的 API、有效地维护它们并成功地在内部和外部推广,不仅能提高数字价值,还能带来巨大的业务收益。 API 设计是创建一个标准化、易于理解且稳定的应用程序接口…

springboot引入nacos

springboot引入nacos 一、 环境准备(windows为例)安装nacos(github镜像网址:Releases alibaba/nacos) 推荐下载发行版启动nacos本地服务 下载完毕,建议解压到没有中文路径的文件夹,在bin目录下打开cmd对话框输入下面命令启动nacos startup.cmd -m standalone启动成功出现以…

95%开发者不知道的调试黑科技:Apipost让WebSocket开发效率翻倍的秘密

在现代 Web 开发中,Websocket 作为一种常见的 Web 协议,与 Restful API 有着本质的不同。Restful API是基于请求-响应模式的单向通信,而 WebSocket 提供全双工通信渠道,允许客户端和服务器之间进行实时双向数据传输。这种特性使得它在需要实时交互的场景中大放异彩,比如 I…

题解:P9221 「TAOI-1」Pentiment

P9221 解题报告 一眼线段树优化 dp,但是调了7h。 首先考虑朴素 dp,设 \(dp_{i,j}\) 表示走到第 \(i\) 行第 \(j\) 列的方案数,转移: \[dp_{i,j}=\sum dp_{i-1,k} \]其中 \(k\) 表示第 \(i\) 行可以走到 \(j\) 的列。 比如如果第 \(i\) 行是下面这种情况:当 \(j=3\) 时,\(…

【Java开发】Tools4AI:一个适用于企业Java应用的开源智能体框架

一、简介 GitHub主页:(https://github.com/vishalmysore/Tools4AI) Tools4AI 是一个基于 Java 的开源智能体框架,它为企业Java应用程序提供了一种集成人工智能的独特方法。作为一个大型动作模型(Large Action Model,LAM)智能体,Tools4AI 能够根据自然语言指令自主执行任务…

英语328个词缀和词根汇总(14张图)

在所有的单词记忆法中,构词法是最科学、记忆效果最佳的词汇记忆法。下面整理了高中常用的词根、词缀。利用有限的词根、词缀对英语单词进行构词分析和解形释义,单词变得好认又好记,词义也一目了然。通过构词法记单词,可以举一反三,记一识十,从而达到事半功倍的记忆效果。…

No.48 ES6---数组扩展之扩展运算符和新增方法

一、数组扩展之扩展运算符 1.扩展运算符扩展运算符(spread)是三个点(…)。将一个数组转为用逗号分隔的参数序列。<script>var arr = [10,23,45,6,7];//以前获取数组中的每个元素for(let i = 0;i<arr.length;i++){console.log(arr[i]);}//有了扩展运算符之后console.lo…

Zabbix 7.0 LTS 部署

Zabbix 7.0LTS教程 一、环境介绍 操作系统:Rocky Linux 9.5 软件版本:7.0LTS 二、安装教程 官网:Zabbix:企业级开源监控解决方案 点击右上角的下载ZABBIX选择对应的环境:选择之后往下拉会看到相应的部署步骤:2.1 软件源配置 按照文档提示:如果有epel.repo源码,需要先注释…

IDC机房无人值守:智能运维一体化解决方案

“智和网管平台”,通过实时监控、远程配置等技术实现数据中心机房的自动检测、自动报警、自动修复等功能,从而达到无需人工干预的机房运维状态,减少人为因素对设备运行的干扰,增强机房设备、设施数据的直观可视性、提高其利用率。 企业数字化转型以及5G、物联网、云…