JavaScript基础:算术、赋值与逻辑运算符详解
本文系统讲解JavaScript中的基础运算符。涵盖算术运算符(加减乘除取余)与赋值运算符(+=等)的用法,深入解析比较运算符(==与===的区别)及逻辑运算符(&&、||、!)的行为。重点阐述逻辑运算符的短路求值机制与返回值规则,帮助开发者掌握变量赋值、类型判断及布尔转换的核心逻辑,夯实编程基础。
JavaScript运算符概述
大家好,在前面的内容中,我们已经初步了解了JavaScript的基本作用,以及函数和变量的声明方式。今天我们将继续深入,重点讲解JavaScript的控制流(顺序、分支、循环)以及各类基础运算符。
基础算术与赋值运算符
首先,我们来介绍一些基础的操作运算符。
- + 加号:1.用于计算两个数字的和;2.用于拼接两个字符串。
- - 减号:1.用于计算两个数字的差;2.置于数字前表示负数。
- * 乘号:用于计算两个数字的积。
- / 除号:用于计算被除数除以除数后的商。
- % 取余:用于计算被除数除以除数后的余数(此处指整除后的余数)。
- = 赋值:用于将一个值(对象、函数、数字、字符串或布尔值)赋给变量。

通过上述示例,我们可以清晰看到运算符如何输出结果。加减乘除属于基础计算,此处不再赘述。需要特别注意的是取余运算,例如 5%2 的结果为 1,其计算逻辑为 5÷2=2……1,即被除数除以除数得到的余数,这对应取余操作的结果。此外,等号(=)用于赋值,语法为 var temp = 值;。其中 var 用于声明变量,= 用于赋值,值的类型可以是对象、函数、数字、字符串或布尔值。此前已介绍过函数(由 function 声明的函数体)、数字、字符串(引号包含的文本)以及布尔值(仅包含 true 和 false 两种状态,无其他值)。
接下来,我们观察各种数据类型的表现形式。
//这里我们给了一个空对象(null)
var temp_1 = null;
//这里我们给一个函数
var temp_2 = function(){
console.log("Write Something");
};
//这里我们给了一个字符串
var temp_3 = "My name is MrDream";
//这里我们给了一个boolean值
var temp_4 = true;
这些基本操作直观易懂。希望读者在接触这些入门内容时保持耐心,目前仍处于基础讲解阶段,必须扎实掌握这些基础知识。后续文章将介绍更多高级内容,若基础不牢,后期面对复杂代码时只能盲目复制,无法自主编写所需功能。
下面我们进一步探讨运算符的进阶用法(注:目前仅介绍基本运算符,特殊运算符将在后续应用中结合具体场景深入讲解,以便更深刻理解)。
- += 加等:先将两个操作数相加,再将结果赋值给第一个操作数。
- -= 减等:先将两个操作数相减,再将结果赋值给第一个操作数。
- *= 乘等:先将两个操作数相乘,再将结果赋值给第一个操作数。
- /= 除等:先将两个操作数相除,再将结果赋值给第一个操作数。
- %= 余等:先将两个操作数取余,再将结果赋值给第一个操作数。

比较与逻辑运算符详解
接下来介绍常用的比较判断运算符。
- == 等于:判断运算符两侧的对象是否相等。
- === 绝对等于:判断运算符两侧的对象是否绝对相等(类型与值均相同)。
- !== 绝对不等于:判断运算符两侧的对象是否绝对不相等。
- != 不等于:判断运算符两侧的对象是否不相等。
- || 或者(或):首先判断运算符左右两侧的对象是否为“非空对象或非未定义对象”。如果两侧均满足该条件,则返回右侧的值;如果其中有一个值不满足(即为空或未定义),则返回那个不满足条件的值。
- && 并且(与):首先判断运算符左右两侧的对象是否为“非空对象或非未定义对象”。如果两侧都不满足(即均为空或未定义),则返回右侧的值;如果只有一个值满足,则返回那个满足条件的值;如果两侧均满足,则返回左侧的值。
- ! 取反(非):将值转换为布尔值后,再取反。
(注:此处提到的或、与、取反运算符,是基于常规逻辑理解的讲解。其内部操作实际涉及二进制的或、与、非运算,关于二进制的内容将在后续章节详细展开。下面请看示例。)

接下来讲解或与非的操作,理解难度略有提升。

结合图示分析:A处,因运算符左侧为未定义对象,故返回右侧的值;B处,因左侧为空对象,故返回右侧的值;C处,因左侧有实际值数字 123,故返回 123;D处,因左侧有实际值数字 -1,故返回左侧的值。补充一点:数字 0 也是特殊值,若左侧为 0,则返回右侧的值。
总结或操作符的作用:用于检查运算符左右两侧是否为未定义值、空值、0 或 false。如果左侧是这些值,则返回右侧的值;如果左侧不是这些类型的值,则返回左侧的值。
接着分析与操作。

同样结合图示分析:A处,左右分别为未定义对象和空对象,返回左侧的值;B处,左侧为空对象,故返回左侧;C处,右侧为未定义对象,故返回右侧的值;D处,与C处同理;E处,两侧均为非空对象,左侧布尔值为 true,故返回右侧;F处与E处同理;G处,因左侧为 0,与未定义对象、空对象及 false 同级,故返回左侧的值。
最后是取反操作。

继续结合图示分析:A处,对 0、false、null、未定义等值进行取反,得到布尔值 true;B处,对实际存在的值进行取反操作,得到的结果是布尔值 false。我们可以总结出,取反操作的结果总是布尔值:对不实际的值(如 null、undefined、0、false)取反得到 true,对实际的值取反得到 false。
总结
今天的讲解到此结束。总结一下,本文主要介绍了基础运算符。虽然运算符数量较多,但通过详细阐述已全部涵盖。还有一些特殊操作符将在后续内容中介绍。只要每天进步一点点,成为技术大神也并非梦想。
JS动态构建复杂嵌套JSON对象的方法
2026-11-05 15:41:52
JS负数取余为什么是负数?详解余数与模运算区别
2026-11-05 13:34:41
JS 解压出现乱码或报错怎么解决?
2026-11-05 12:32:38
JS 中 startsWith、indexOf 与正则判断字符串前缀的对比
2026-11-04 22:19:43
JS解析Excel后怎么将数据转换为JSON格式
2026-11-04 20:58:28
