当前位置: 首页 > news >正文

JavaScript基础-运算符的分类

在JavaScript编程中,运算符是构建表达式和执行操作的基础工具。了解不同类型的运算符以及它们的工作原理对于编写高效且无误的代码至关重要。本文将介绍JavaScript中的主要运算符类型,并通过实例展示它们的用法。

一、算术运算符

算术运算符用于执行基本的数学运算,如加法、减法、乘法、除法等。

常见算术运算符:

  • +:加法
  • -:减法
  • *:乘法
  • /:除法
  • %:取模(求余数)
  • ++:递增
  • --:递减

示例:

let a = 10;
let b = 5;

console.log(a + b); // 输出: 15
console.log(a - b); // 输出: 5
console.log(a * b); // 输出: 50
console.log(a / b); // 输出: 2
console.log(a % b); // 输出: 0

a++;
console.log(a); // 输出: 11

b--;
console.log(b); // 输出: 4

二、赋值运算符

赋值运算符用于给变量赋值。除了简单的赋值外,还可以结合其他运算符实现复合赋值。

常见赋值运算符:

  • =:简单赋值
  • +=:加后赋值
  • -=:减后赋值
  • *=:乘后赋值
  • /=:除后赋值
  • %=:取模后赋值

示例:

let x = 10;

x += 5; // 等价于 x = x + 5
console.log(x); // 输出: 15

x -= 3; // 等价于 x = x - 3
console.log(x); // 输出: 12

x *= 2; // 等价于 x = x * 2
console.log(x); // 输出: 24

x /= 4; // 等价于 x = x / 4
console.log(x); // 输出: 6

x %= 2; // 等价于 x = x % 2
console.log(x); // 输出: 0

三、比较运算符

比较运算符用于比较两个值,并返回一个布尔值结果(truefalse)。

常见比较运算符:

  • ==:等于(不严格,会进行类型转换)
  • ===:严格等于(同时比较值和类型)
  • !=:不等于(不严格)
  • !==:严格不等于
  • >:大于
  • <:小于
  • >=:大于等于
  • <=:小于等于

示例:

let c = 5;
let d = "5";

console.log(c == d); // 输出: true
console.log(c === d); // 输出: false
console.log(c != d); // 输出: false
console.log(c !== d); // 输出: true
console.log(c > d); // 输出: false
console.log(c < d); // 输出: false
console.log(c >= d); // 输出: true
console.log(c <= d); // 输出: true

注意:推荐使用===!==以避免因隐式类型转换导致的意外结果。

四、逻辑运算符

逻辑运算符用于组合或反转布尔表达式的值。

常见逻辑运算符:

  • &&:逻辑与
  • ||:逻辑或
  • !:逻辑非

示例:

let e = true;
let f = false;

console.log(e && f); // 输出: false
console.log(e || f); // 输出: true
console.log(!e); // 输出: false
console.log(!f); // 输出: true

逻辑运算符常用于条件判断语句中。

五、位运算符

位运算符对数字的二进制表示进行操作。

常见位运算符:

  • &:按位与
  • |:按位或
  • ^:按位异或
  • ~:按位非
  • <<:左移
  • >>:右移
  • >>>:无符号右移

示例:

let g = 5; // 二进制: 0101
let h = 3; // 二进制: 0011

console.log(g & h); // 输出: 1 (二进制: 0001)
console.log(g | h); // 输出: 7 (二进制: 0111)
console.log(g ^ h); // 输出: 6 (二进制: 0110)
console.log(~g); // 输出: -6 (由于负数的补码表示)
console.log(g << 1); // 输出: 10 (相当于乘以2)
console.log(g >> 1); // 输出: 2 (相当于除以2并向下取整)

六、其他运算符

条件(三元)运算符

条件运算符提供了一种简洁的方式来根据条件选择不同的值。

let age = 18;
let canVote = age >= 18 ? "Yes" : "No";
console.log(canVote); // 输出: Yes

类型运算符

typeof:返回一个值的数据类型。
console.log(typeof 42); // 输出: "number"
console.log(typeof "Hello"); // 输出: "string"
console.log(typeof true); // 输出: "boolean"
instanceof:检查对象是否是指定构造函数的实例。
let arr = [1, 2, 3];
console.log(arr instanceof Array); // 输出: true

七、结语

感谢您的阅读!如果你有任何问题或想分享自己的经验,请在评论区留言交流!

http://www.dtcms.com/a/55211.html

相关文章:

  • Memory should not be managed manually(Code Smell)
  • macOS常用网络管理配置命令
  • 【第22节】C++设计模式(行为模式)-Iterator(迭代器)模式
  • 关于webpack的文件打包分割,并防止js文件缓存
  • 系统设计面试总结:4、单点登录SSO的概念、优势、OAuth2.0、具体实现(含时序图和跨域登录/登出的解决方案)
  • 如何在后端服务发布过程中使用蓝绿部署
  • AI资产管理系统与ERP对接API规范 v2.3
  • 小程序中下载文件 Vue3 写法
  • Linux(Centos 7.6)命令详解:vim
  • bert模型笔记
  • vim基本操作及常用命令
  • 【PLL】分频器:其他拓扑
  • Linux 进程管理
  • 大白话html语义化标签优势与应用场景
  • git如何解除远程仓库 改变远程仓库地址
  • Elasticsearch为索引设置自动时间戳,ES自动时间戳
  • 杂项知识笔记搜集
  • 【由技及道】量子跃迁部署术:docker+jenkins+Harbor+SSH的十一维交付矩阵【人工智障AI2077的开发日志011】
  • Java算法语法学习 美丽子集的数目 - 力扣 Map接口
  • 2025软件测试面试八股文(含答案+文档)
  • 传输协议优化的博弈三角
  • Nginx 跨域配置详细讲解
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之功能优化,基础加载状态,Table8基础加载状态
  • 【并发编程】聊聊定时任务ScheduledThreadPool的实现原理和源码解析
  • java字符串
  • 【Linux】线程同步与互斥
  • 如何在PHP爬虫中处理异常情况的详细指南
  • unsigned类型与signed类型的区别介绍
  • NAS和网盘可以同步吗?
  • requestAnimationFrame 和定时器的含义,使用场景及区别