JavaScript基础:运算符详解与常见误区

作者:小满

时间:2026-10-22

浏览:87

本文系统讲解JavaScript中的核心运算符,涵盖一元、二元及三元运算符的使用场景。重点解析前/后递增运算符的区别、相等(==)与等同(===)的底层逻辑,以及NaN的特殊行为。通过代码示例阐明对象引用比较、字符串逐字比较及in与instanceof运算符的实际应用,帮助开发者规避常见编码陷阱。

文章目录

表达式与运算符基础

1. 表达式:


最基础的表达式由直接量或变量名构成。例如:var a = 1;


直接量表达式的计算结果即为其本身的值。


变量表达式的计算结果为该变量当前存储或引用的值。



2. 运算符:


一元运算符示例:-3


二元运算符示例:3+4


三元运算符示例:? :



递增运算符详解

新手常遇到的问题:


递增运算符:


具体示例如下:


i = 1;


j = ++i; // 前递增运算,即先对运算数进行递增,然后再去计算。


//输出 i = 2; j = 2;



i = 1;


j = i++; // 后递增运算,即先去计算,然后再对运算数进行递增。


//输出 i = 2; j = 1;



相等与等同运算符辨析

3. 相等运算符:


= :赋值运算符;


== :相等运算符;


=== :等同运算符;


值NaN永远不会与任何值相等,包括它自己。


alert(NaN == NaN); // false,NaN意为Not a Number


要检测一个值是否是NaN,可以使用全局函数isNaN();



另外新手要注意:


var a = [1, 2, 3];


var b = [1, 2, 3];


document.write(a == b); // 输出false。(这个其实是第一章讲的内容。)


// 虽然值相同,类型相同,但址不同。


--------------------------------------------------------

var a = [1, 2, 3];


var b = a;


var c = a;


document.write(b === c); // 输出true;


--------------------------------------------------------

var a = "1";


var b = true;


document.write(a == b); // 输出 true


document.write(a === b); // 输出 false;值相同,类型不同



字符串比较与大小写处理

4. 比较运算符:


要注意的就是字符串是进行逐个比较。


而且会区分大小写。


如果你的需求是不区分大小写:


可以使用 String.toLowerCase() //纯小写


String.toUpperCase() //纯大写 转换后,然后再去比较.



in与instanceof运算符

5. in 运算符:


要注意的是:左边的值是其右边对象的属性。


比如:


var a = { x: 1, y: 2 };


var b = "x" in a; // true


var c = "toString" in a; // true。左边的值是其右边对象的属性。



6. instanceof 运算符:


要注意的是:左边的运算数是一个对象,右边的运算数是对象类的名字。


比如:


var a = new Date()


a instanceof Date; // true


a instanceof Object; // true


a instanceof Number; // false



三元条件运算符

7. 3元条件运算符:


要注意的是:第一个运算数必须是一个布尔值。


X > 0 ? 3 : 2;


1

2下一页阅读全文

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章