[JavaScript] 运算符详解

news2025/2/26 22:54:31

文章目录

  • 算术运算符(Arithmetic Operators)
      • 注意事项:
  • 比较运算符(Comparison Operators)
      • 注意事项:
  • 逻辑运算符(Logical Operators)
      • 短路运算:
      • 逻辑运算符的返回值:
  • 赋值运算符(Assignment Operators)
  • 三元运算符(Ternary Operator)
  • 位运算符(Bitwise Operators)
  • 运算符优先级
  • 小练习

算术运算符(Arithmetic Operators)

算术运算符用于完成基本的数学计算。

运算符描述示例结果
+加法5 + 27
-减法5 - 23
*乘法5 * 210
/除法5 / 22.5
%取余(模运算)5 % 21
**指数(幂运算)2 ** 38
++自增(每次加1)let x = 5; x++5,然后变为6
--自减(每次减1)let x = 5; x--5,然后变为4

注意事项:

  • 整数除法:JavaScript中没有整数除法,5 / 2 会得到浮点结果2.5
  • 自增/自减运算符可以分为前置和后置:
    • 前置++x:先加1后返回结果。
    • 后置x++:先返回结果后加1。
let a = 10;
console.log(a++); // 输出 10,先返回后加1
console.log(a);   // 输出 11
console.log(++a); // 输出 12,先加1后返回

比较运算符(Comparison Operators)

比较运算符返回布尔值:truefalse

运算符描述示例结果
==相等(值相等)5 == '5'true
===全等(值和类型都相等)5 === '5'false
!=不相等(值不相等)5 != '5'false
!==不全等(值或类型不相等)5 !== '5'true
>大于5 > 3true
<小于5 < 3false
>=大于等于5 >= 5true
<=小于等于3 <= 5true

注意事项:

  • ==** 与 === 的区别**:
    • == 会进行类型转换,只比较值是否相等。
    • === 不会进行类型转换,要求值和类型都相等。
console.log(5 == '5');  // true,因为字符串'5'被转换成数字5
console.log(5 === '5'); // false,因为类型不同

逻辑运算符(Logical Operators)

逻辑运算符用于布尔值运算,主要包括:

运算符描述示例结果
&&逻辑与(AND)true && falsefalse
``逻辑或(OR)
!逻辑非(NOT)!truefalse

短路运算:

  • &&:遇到false会短路,直接返回false的值。
  • ||:遇到true会短路,直接返回true的值。
let x = 5;
console.log(x > 0 && x < 10); // true,x大于0并且小于10
console.log(x > 0 || x < 3);  // true,x大于0或小于3
console.log(!(x > 0));        // false,x大于0的反向

逻辑运算符的返回值:

  • &&|| 不总是返回布尔值,它们会返回短路时的具体值。
console.log('a' && 'b'); // 'b',因为'a'为真,继续返回后一个值
console.log(null || 'hello'); // 'hello',因为`null`为假,返回`hello`

赋值运算符(Assignment Operators)

赋值运算符用来给变量赋值。

运算符描述示例等价于
=赋值x = 5
+=加后赋值x += 3x = x + 3
-=减后赋值x -= 3x = x - 3
*=乘后赋值x *= 3x = x * 3
/=除后赋值x /= 3x = x / 3
%=取余后赋值x %= 3x = x % 3
**=幂后赋值x **= 2x = x ** 2

三元运算符(Ternary Operator)

三元运算符是一个简单的条件运算符,语法为:条件 ? 表达式1 : 表达式2

let age = 20;
let isAdult = age >= 18 ? '成年人' : '未成年人';
console.log(isAdult);  // 输出:成年人

位运算符(Bitwise Operators)

位运算符操作二进制位,用得较少,但在某些性能优化或算法中很重要。

运算符描述示例
&按位与5 & 3(结果:1
``按位或
^按位异或5 ^ 3(结果:6
~按位取反~5(结果:-6
<<左移5 << 1(结果:10
>>右移5 >> 1(结果:2

运算符优先级

JavaScript中的运算符是有优先级的,高优先级的运算符会优先计算。

优先级运算符说明
1()括号
2++ --自增、自减
3**幂运算
4* / %乘、除、取余
5+ -加、减
6< <= > >=比较
7== != === !==相等、全等等
8&&逻辑与
9`
10=赋值

小练习

可以尝试完成以下练习题:

  1. 使用三元运算符,根据一个数字是否大于0来输出“正数”或“非正数”。
  2. 判断一个字符串是否为空(长度为0),使用||输出默认值。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

latin1_swedish_ci(latin1 不支持存储中文、日文、韩文等多字节字符)

文章目录 1、SHOW TABLE STATUS WHERE Name batch_version;2、latin1_swedish_ci使用场景注意事项修改字符集和排序规则修改表的字符集和排序规则修改列的字符集和排序规则修改数据库的默认字符集和排序规则 3、ALTER TABLE batch_version CONVERT TO CHARACTER SET utf8mb4 C…

【机器学习实战入门】使用OpenCV进行性别和年龄检测

Gender and Age Detection Python 项目 首先,向您介绍用于此高级 Python 项目的性别和年龄检测中的术语: 什么是计算机视觉? 计算机视觉是一门让计算机能够像人类一样观察和识别数字图像和视频的学科。它面临的挑战大多源于对生物视觉有限的了解。计算机视觉涉及获取、处…

计算机毕业设计PySpark+Hadoop+Hive机票预测 飞机票航班数据分析可视化大屏 航班预测系统 机票爬虫 飞机票推荐系统 大数据毕业设计

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

游戏引擎学习第84天

仓库:https://gitee.com/mrxiao_com/2d_game_2 我们正在试图弄清楚如何完成我们的世界构建 上周做了一些偏离计划的工作&#xff0c;开发了一个小型的背景位图合成工具&#xff0c;这个工具做得还不错&#xff0c;虽然是临时拼凑的&#xff0c;但验证了背景构建的思路。这个过…

RIME-CNN-LSTM-Attention多变量多步时序预测Matlab实现

SCI一区级 | Matlab实现RIME-CNN-LSTM-Multihead-Attention多变量多步时序预测 目录 SCI一区级 | Matlab实现RIME-CNN-LSTM-Multihead-Attention多变量多步时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现RIME-CNN-LSTM-Multihead-Attention霜冰算法…

SpringMVC——原理简介

狂神SSM笔记 DispatcherServlet——SpringMVC 的核心 SpringMVC 围绕DispatcherServlet设计。 DispatcherServlet的作用是将请求分发到不同的处理器&#xff08;即不同的Servlet&#xff09;。根据请求的url&#xff0c;分配到对应的Servlet接口。 当发起请求时被前置的控制…

K8S的探针说明和使用方式

探针概述 探针分类 K8S中 探针&#xff08;Probes&#xff09; 是用于检查容器的健康状况和可用性的机制。探针可以自动判断应用的运行状态&#xff0c;并根据需要重启容器、替换容器或将流量路由到健康的实例。从而确保应用始终处于健康、可用的状态&#xff0c;并帮助自动化…

基于SpringBoot+Vue的智慧动物园管理系统的设计与实现

获取源码&#xff1a;基于SpringBootVue智慧动物园系统设计与实现: 后台和用户前台。后台包括首页、员工管理、考勤管理、部门管理、角色管理、审核管理、动物管理、演出管理、园区管理、园区设施维修、饲养管理、行为观察管理、疫苗管理、看护管理、个人中心、票务管理、收入管…

【博客之星评选】2024年度前端学习总结

故事的开端...始于2024年第一篇前端技术博客 那故事的终末...也该结束于陪伴了我一整年的前端知识了 踏入 2025 年&#xff0c;满心激动与自豪&#xff0c;我成功闯进了《2024 年度 CSDN 博客之星总评选》的 TOP300。作为一名刚接触技术写作不久的萌新&#xff0c;这次能走到这…

GPT-5 传言:一场正在幕后发生的 AI 变革

新的一年&#xff0c;让我们从一个引人入胜的话题开始&#xff1a;如果我告诉你&#xff0c;GPT-5 并非虚构&#xff0c;而是真实存在呢&#xff1f;它不仅真实存在&#xff0c;而且正在你看不见的地方悄然塑造着世界。我的基本假设是&#xff1a;OpenAI 已经秘密开发出 GPT-5&…

LeetCode题练习与总结:N 叉树的最大深度--559

一、题目描述 给定一个 N 叉树&#xff0c;找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 N 叉树输入按层序遍历序列化表示&#xff0c;每组子节点由空值分隔&#xff08;请参见示例&#xff09;。 示例 1&#xff1a; 输入&#xff1a;roo…

51c自动驾驶~合集47

我自己的原文哦~ https://blog.51cto.com/whaosoft/13083194 #DreamDrive 性能爆拉30%&#xff01;英伟达&#xff1a;时空一致下的生成重建大一统新方案~ 从自车的驾驶轨迹中生成真实的视觉图像是实现自动驾驶模型可扩展训练的关键一步。基于重建的方法从log中生成3D场景…

AI 编程工具—Cursor AI 对话模式详解 内嵌对话模式

AI 编程工具—Cursor AI 对话模式详解 内嵌对话模式 前面我们已经学习了Cursor 的两种工作模式,也就是Chat、Composer 更多细节可以看之前的文章 Cursor 对话模式详解 Chat、Composer 与 Normal/Agent 模式 这一节我们按一下最后一种模式,也就是内嵌对话模式 内嵌对话模式…

国产编辑器EverEdit - 合并行

1 合并行 1.1 应用场景 在编写代码或其他场景下&#xff0c;有时需要把多行的内容缩减成一行&#xff0c;或者纯粹减少行数进行合并&#xff0c;比如&#xff1a;下面的字典的定义&#xff0c;每个元素占了一行&#xff0c;有点浪费&#xff0c;现在需要把它们缩减行数。 typ…

postman请求参数化

一、使用环境变量(Environment Variables)进行参数化 1、在请求中使用环境变量 在请求的url、请求头(Headers)、请求体(Body)等部分都可以使用环境变量。 URL 部分示例 点击 Postman 界面右上角的 “眼睛” 图标(Environment Quick Look)打开环境管理窗口单击Edit将变…

[JavaWeb]央视新闻排版

私用学习笔记 一.设置颜色 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>【新思想引领新征程…

Transform论文阅读之Attention Is All You Need(一)and Vit

摘要&#xff1a; 这篇论文的摘要介绍了一种名为Transformer的新型神经网络架构&#xff0c;该架构完全基于自注意力机制&#xff0c;用于解决序列转换任务。Transformer在机器翻译任务中取得了领先的性能&#xff0c;并且相比基于循环或卷积神经网络的传统架构&#xff0c;Tr…

【神经网络基础】

目录 一、神经网络的构成 1.1什么是神经网络&#xff1f; 1.2 激活函数 1.2.1 Sigmoid 1.2.2 Tanh 1.2.3 ReLU 1.2.4 softmax 1.2.5 其他激活函数 1.2.6 选择激活函数 1.3 参数初始化 1.4 模型构建 二、损失函数 2.1 分类问题 2.1.1多分类&#xff08;多分类交叉…

【Linux】Linux入门(2)常见指令

目录 Linux下的文件ls 指令 --- 展示目录pwd指令 --- 显示当前目录cd 指令 --- 改变工作目录touch指令 --- 创建普通文件stat指令 --- 查看文件属性mkdir指令 --- 创建目录rmdir指令 --- 删除目录rm指令 --- 同时删除文件或目录man指令 --- 访问帮助手册cp指令 复制文件或目录m…

202509读书笔记|《飞花令·山》——两岸猿声啼不住,轻舟已过万重山

202509读书笔记|《飞花令山》——两岸猿声啼不住&#xff0c;轻舟已过万重山 《飞花令山》素心落雪编著&#xff0c;飞花令得名于唐代诗人韩翃《寒食》中的名句“春城无处不飞花”&#xff0c;类似于行酒令&#xff0c;是文人们的一种雅致的娱乐活动。 一直都比较喜欢看诗词&a…