一、数字运算符

定义:用于执行数学计算的运算符,操作数通常为数值类型,但JavaScript会根据需要自动进行类型转换。

1.1 基础算术运算符

运算符 名称 功能描 示例 结果
+ 加法 数值相加或字符串拼接 5 + 3 8
- 减法 数值相减 10 - 4 6
* 乘法 数值相乘 2.5 * 4 10
/ 除法 数值相除(返回浮点数) 10 / 3 3.333...
% 取模 返回除法余数(符号与被除数一致) 10 % 3 -10 % 3 1 -1
** 幂运算 计算基数的指数次幂(ES6新增) 2 ** 3 8

示例代码

// 加法
console.log(7 + 2);       // 9
console.log("5" + 3);     // "53"(字符串拼接)

// 减法(自动类型转换)
console.log("10" - 4);    // 6

// 除法(浮点数结果)
console.log(8 / 3);       // 2.6666666666666665

// 取模(符号处理)
console.log(10 % -3);     // 1(商为-3,余数=10 - (-3)*(-3) = 1)

// 幂运算
console.log(3 ** 4);      // 81

综合使用案例:

1、创建一个名为css-study的文件夹并使用VSCode打开,再创建一个名为5-1.JavaScript运算符-基础算术运算符.html

<!DOCTYPE html>
<html>
    <script>
        // 加法运算,输出结果为9
        console.log(7 + 2)
        // 加法运算-拼接,输出结果为53
        console.log("5" + 3)

        // 减法运算,输出结果为6
        console.log("10" - 4)

        // 除法运算(浮点数结果),输出结果为2.666666666
        console.log(8 / 3)

        // 取模运算,输出结果为1
        console.log(10 % -3)

        // 幂运算,输出结果为81
        console.log(3 ** 4)
    </script>
</html>

2、双击【5-1.JavaScript运算符-基础算术运算符.html】后按F12,点击【控制台】可以展示相关运算结果

image-20250520103318860

1.2 一元运算符

运算符 名称 功能描述 示例 结果
++ 自增 变量值加1(前后置行为不同) let a=5; a++ a=6
-- 自减 变量值减1(前后置行为不同) let b=3; --b b=2
+ 正号 转换操作数为数字 +"12" 12
- 负号 转换操作数为数字并取反 -"8" -8

示例代码

let x = 5;
console.log(x++);  // 输出5,x变为6(后置)
console.log(++x);  // 输出7,x变为7(前置)

let str = "123";
console.log(+str); // 123(数字类型)
console.log(-str); // -123

综合使用案例:

1、创建一个名为css-study的文件夹并使用VSCode打开,再创建一个名为5-2.JavaScript运算符-一元运算符.html

<!DOCTYPE html>
<html>
    <script>
        let x = 5
        // 输出5,x变为6(后置)
        console.log(x++)
        // 输出7,x变为7(前置)
        console.log(++x)
        // 输出6
        console.log(--x)

        let a = 1
        // a -= 1等同于a = a - 1,最后输出结果为0
        a -= 1
        console.log(a)

        let b = 1
        // b += 1等同于b = b + 1,最后输出结果为2
        b += 1
        console.log(b)

        let str = "123"
        // 123(数字类型)
        console.log(+str)
        // -123
        console.log(-str)
    </script>
</html>

2、双击【5-2.JavaScript运算符-一元运算符.html】后按F12,点击【控制台】可以展示相关运算结果

image-20250520104828482

二、比较运算符

定义:用于比较两个值的关系,返回布尔值(true/false)。JavaScript存在两种比较模式:宽松比较(允许类型转换)和严格比较(类型和值均需匹配)。

console.log(5 == "5");   // true (值相等)
console.log(5 === "5");  // false (严格相等)
console.log(5 > 3);      // true
console.log(5 != 3);     // true

2.1 基础比较运算符

运算符 名称 比较规则 示例 结果
== 等于 值相等(允许类型转换) 5 == "5" true
=== 严格等于 值和类型均相等 5 === "5" false
!= 不等于 值不等(允许类型转换) 5 != "6" true
!== 严格不等于 值或类型不同 5 !== "5" true
> 大于 左值是否大于右值 10 > "8" true
< 小于 左值是否小于右值 "5" < 10 true
>= 大于等于 左值是否大于或等于右值 5 >= 5 true
<= 小于等于 左值是否小于或等于右值 "10" <= 10 true

2.2 特殊比较场景

比较表达式 结果 说明
null == undefined true 两者在宽松比较中相等
null === undefined false 类型不同(null是对象,undefined是undefined)
NaN == NaN false NaN与任何值(包括自身)比较均为false
"5" == 5 true 字符串转换为数字后比较
true == 1 true 布尔值true转换为1
false == 0 true 布尔值false转换为0
"0" == false true 字符串"0"和false均转换为0

2.3 比较运算符示例

// 类型转换比较
console.log(0 == false);         // true
console.log("" == false);        // true
console.log([] == false);        // true(空数组转换为0)

// 严格比较
console.log(0 === false);        // false(类型不同)
console.log(null === undefined); // false(类型不同)

// NaN处理
console.log(NaN === NaN);        // false
console.log(isNaN(NaN));         // true(正确检测方法)

// 对象比较(比较引用地址)
const obj1 = {a: 1};
const obj2 = {a: 1};
console.log(obj1 == obj2);       // false(不同内存地址)

综合使用案例

1、创建一个名为css-study的文件夹并使用VSCode打开,再创建一个名为5-3.JavaScript运算符-比较运算符.html

<!DOCTYPE html>
<html>
    <script>
        // 类型转换比较
        // 输出true
        console.log(0 == false)
        // 输出true
        console.log("" == false)
        // 输出true
        console.log([] == false)

        // 严格比较
        // 输出false
        console.log(0 === false)
        // 输出false
        console.log(null === undefined)

        // NaN处理
        // 输出false
        console.log(NaN === NaN)
        // 输出true
        console.log(isNaN(NaN))

        // 对象比较
        // 输出false
        const obj1 = {a: 1}
        const obj2 = {a: 1}
        console.log(obj1 == obj2)

    </script>
</html>

2、双击【5-3.JavaScript运算符-比较运算符.html】后按F12,点击【控制台】可以展示相关比较结果

image-20250520105829009

三、逻辑运算符

3.1 逻辑与(&&)

定义:当且仅当所有操作数均为真值(Truthy)时返回最后一个真值,否则返回第一个假值(Falsy)

特点

  • 短路求值:遇到第一个假值即停止计算
  • 返回结果不一定是布尔值
  • 常用于条件执行和默认值链式判断

3.2 逻辑或(||)

定义:返回第一个真值操作数,若全为假值则返回最后一个操作数

特点

  • 常用于设置默认值
  • 支持短路求值
  • 在ES6之前广泛用于参数默认值处理

3.3 逻辑非(!)

定义:将操作数转换为布尔值后取反

特点

  • 结果始终为布尔类型
  • 双重否定(!!)可用于显式类型转换
  • 常用于条件反转和类型检查

3.4 综合使用案例

1、创建一个名为css-study的文件夹并使用VSCode打开,再创建一个名为5-4.JavaScript运算符-逻辑运算符.html

<!DOCTYPE html>
<html>
    <script>
        // 定义初始值
        let a =1
        let b =2
        let c = "xx"
        let d = "yy"
        let e = "1"
        let b1 = false

        // 逻辑非,输出true
        console.log(!b1)
        console.log(b1)

        // 逻辑与,;必须两个都成立才输出true
        console.log(a < b && c != d)

        // 逻辑或,只要有一个成立即可输出true
        console.log(a < b || c == d)
    </script>
</html>

2、双击【5-4.JavaScript运算符-逻辑运算符.html】后按F12,点击【控制台】可以展示相关比较结果

image-20250520111527558