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

JavaScript 运算符详解

引言

在 JavaScript 编程中,运算符是用于对数据进行操作的特殊符号。通过使用运算符,我们可以实现各种计算、比较和逻辑判断等功能。JavaScript 中的运算符种类丰富,涵盖了算术、比较、逻辑、赋值等多个方面。下面将详细介绍各类运算符及其使用方法,并结合代码示例进行说明。

一、算术运算符

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

1. 加法运算符(+

加法运算符既可以用于数字相加,也可以用于字符串拼接。

// 数字相加
let num1 = 5;
let num2 = 3;
let sum = num1 + num2;
console.log(sum); // 输出: 8

// 字符串拼接
let str1 = 'Hello';
let str2 = ' World';
let combinedStr = str1 + str2;
console.log(combinedStr); // 输出: Hello World

2. 减法运算符(-

减法运算符用于计算两个数字的差值。

let num3 = 10;
let num4 = 4;
let difference = num3 - num4;
console.log(difference); // 输出: 6

3. 乘法运算符(*

乘法运算符用于计算两个数字的乘积。

let num5 = 6;
let num6 = 2;
let product = num5 * num6;
console.log(product); // 输出: 12

4. 除法运算符(/

除法运算符用于计算两个数字的商。

let num7 = 15;
let num8 = 3;
let quotient = num7 / num8;
console.log(quotient); // 输出: 5

5. 取余运算符(%

取余运算符用于计算两个数字相除后的余数。

let num9 = 10;
let num10 = 3;
let remainder = num9 % num10;
console.log(remainder); // 输出: 1

6. 自增运算符(++

自增运算符用于将变量的值加 1,分为前置自增和后置自增。

let num11 = 5;
// 前置自增
let preIncrement = ++num11;
console.log(preIncrement); // 输出: 6
console.log(num11); // 输出: 6

let num12 = 5;
// 后置自增
let postIncrement = num12++;
console.log(postIncrement); // 输出: 5
console.log(num12); // 输出: 6

7. 自减运算符(--

自减运算符用于将变量的值减 1,同样分为前置自减和后置自减。

let num13 = 8;
// 前置自减
let preDecrement = --num13;
console.log(preDecrement); // 输出: 7
console.log(num13); // 输出: 7

let num14 = 8;
// 后置自减
let postDecrement = num14--;
console.log(postDecrement); // 输出: 8
console.log(num14); // 输出: 7

二、比较运算符

比较运算符用于比较两个值的大小关系,返回一个布尔值(truefalse)。

1. 等于运算符(==

等于运算符比较两个值是否相等,会进行类型转换。

let a = 5;
let b = '5';
console.log(a == b); // 输出: true

2. 严格等于运算符(===

严格等于运算符比较两个值是否相等,且要求类型也相同。

let c = 5;
let d = '5';
console.log(c === d); // 输出: false

3. 不等于运算符(!=

不等于运算符比较两个值是否不相等,会进行类型转换。

let e = 5;
let f = '6';
console.log(e != f); // 输出: true

4. 严格不等于运算符(!==

严格不等于运算符比较两个值是否不相等,且要求类型也不同。

let g = 5;
let h = '5';
console.log(g !== h); // 输出: true

5. 大于运算符(>

大于运算符比较左边的值是否大于右边的值。

let i = 10;
let j = 5;
console.log(i > j); // 输出: true

6. 小于运算符(<

小于运算符比较左边的值是否小于右边的值。

let k = 3;
let l = 8;
console.log(k < l); // 输出: true

7. 大于等于运算符(>=

大于等于运算符比较左边的值是否大于或等于右边的值。

let m = 5;
let n = 5;
console.log(m >= n); // 输出: true

8. 小于等于运算符(<=

小于等于运算符比较左边的值是否小于或等于右边的值。

let o = 2;
let p = 4;
console.log(o <= p); // 输出: true

三、逻辑运算符

逻辑运算符用于组合多个布尔值,进行逻辑判断。

1. 逻辑与运算符(&&

逻辑与运算符只有当两个操作数都为 true 时,结果才为 true

let isTrue1 = true;
let isTrue2 = true;
let isFalse = false;
console.log(isTrue1 && isTrue2); // 输出: true
console.log(isTrue1 && isFalse); // 输出: false

2. 逻辑或运算符(||

逻辑或运算符只要有一个操作数为 true,结果就为 true

console.log(isTrue1 || isFalse); // 输出: true
console.log(isFalse || isFalse); // 输出: false

3. 逻辑非运算符(!

逻辑非运算符用于取反操作,将 true 变为 false,将 false 变为 true

console.log(!isTrue1); // 输出: false
console.log(!isFalse); // 输出: true

四、赋值运算符

赋值运算符用于将一个值赋给一个变量。

1. 基本赋值运算符(=

基本赋值运算符将右边的值赋给左边的变量。

let x = 10;
console.log(x); // 输出: 10

2. 复合赋值运算符

复合赋值运算符结合了算术运算和赋值操作。

let y = 5;
// 加法赋值
y += 3; // 相当于 y = y + 3
console.log(y); // 输出: 8

let z = 10;
// 减法赋值
z -= 4; // 相当于 z = z - 4
console.log(z); // 输出: 6

let w = 2;
// 乘法赋值
w *= 5; // 相当于 w = w * 5
console.log(w); // 输出: 10

let u = 12;
// 除法赋值
u /= 3; // 相当于 u = u / 3
console.log(u); // 输出: 4

let v = 15;
// 取余赋值
v %= 4; // 相当于 v = v % 4
console.log(v); // 输出: 3

五、位运算符

位运算符用于对整数的二进制位进行操作。

1. 按位与运算符(&

按位与运算符对两个操作数的对应二进制位进行与运算。

let num15 = 5; // 二进制: 0101
let num16 = 3; // 二进制: 0011
let bitwiseAnd = num15 & num16; // 二进制: 0001
console.log(bitwiseAnd); // 输出: 1

2. 按位或运算符(|

按位或运算符对两个操作数的对应二进制位进行或运算。

let bitwiseOr = num15 | num16; // 二进制: 0111
console.log(bitwiseOr); // 输出: 7

3. 按位异或运算符(^

按位异或运算符对两个操作数的对应二进制位进行异或运算。

let bitwiseXor = num15 ^ num16; // 二进制: 0110
console.log(bitwiseXor); // 输出: 6

4. 按位取反运算符(~

按位取反运算符对操作数的每一个二进制位取反。

let num17 = 5; // 二进制: 0101
let bitwiseNot = ~num17; // 二进制: 1010(补码形式)
console.log(bitwiseNot); // 输出: -6

5. 左移运算符(<<

左移运算符将操作数的二进制位向左移动指定的位数。

let num18 = 5; // 二进制: 0101
let leftShift = num18 << 2; // 二进制: 010100
console.log(leftShift); // 输出: 20

6. 右移运算符(>>

右移运算符将操作数的二进制位向右移动指定的位数,符号位保持不变。

let num19 = 20; // 二进制: 010100
let rightShift = num19 >> 2; // 二进制: 000101
console.log(rightShift); // 输出: 5

7. 无符号右移运算符(>>>

无符号右移运算符将操作数的二进制位向右移动指定的位数,左边补 0。

let num20 = -20; 
let unsignedRightShift = num20 >>> 2; 
console.log(unsignedRightShift); 

六、条件运算符(三元运算符)

条件运算符是 JavaScript 中唯一的三元运算符,用于根据条件的真假返回不同的值。

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

七、逗号运算符

逗号运算符用于在一条语句中执行多个表达式,并返回最后一个表达式的值。

let result = (1 + 2, 3 + 4, 5 + 6);
console.log(result); // 输出: 11

八、typeof 运算符

typeof 运算符用于返回一个表示数据类型的字符串。

let num21 = 10;
let str3 = 'hello';
let bool3 = true;
console.log(typeof num21); // 输出: number
console.log(typeof str3); // 输出: string
console.log(typeof bool3); // 输出: boolean

总结

JavaScript 中的运算符丰富多样,每种运算符都有其特定的用途和功能。掌握这些运算符的使用方法,能够帮助我们更高效地编写代码,实现各种复杂的功能。在实际开发中,要根据具体的需求选择合适的运算符,并注意运算符的优先级和结合性,以避免出现错误。

相关文章:

  • 关于stac和clac的进一步细节及EFLAGS
  • 蓝桥备赛(18)- 红黑树和 set 与 map(上)
  • 每日一题力扣2697.字典序最小回文串c++
  • (每日一题) 力扣 179 最大数
  • unittest vs pytest区别
  • Proser:新增指令批次发送功能
  • 全外显子检测家系三样本联合分析+新发变异检测分析
  • 在 CentOS 7 上安装 PHP 7.3
  • SpaceClaim二次开发(3)
  • Android IdleHandler 原理解析与应用场景
  • Android 14 昼夜色切换多屏时候非主屏的Activity无法收到onConfigurationChanged
  • C语言之数据结构:理解什么是数据结构和算法(启航)
  • c++类和对象(下篇)上
  • 项目组织管理类型-矩阵式组织和组合式组织的区别
  • 数据结构——顺序表seqlist
  • 学习率调整策略
  • QT系列教程(19) Qt MVC结构之QItemDelegate介绍
  • FSC森林认证:推动全球森林的可持续管理
  • 记录一个SQL自动执行的html页面
  • 最短路算法
  • 临朐网站建设建站首选哪家公司/太原seo关键词排名优化
  • 网络管理员正在设计新的无线网络/关键词优化快速
  • 建设公司网站新闻素材管理/seo主要优化
  • 区块链网站建设/分销渠道
  • 建网站后如何维护/南宁seo推广优化
  • 长沙做网站好的公司/广州引流推广公司