在 JavaScript 语言中,运算符主要用于执行程序代码运算,针对一个以上的操作数项目来进行运算。运算符大家应该不陌生,因为我们在数学中都学过,例如加减乘除等。JavaScript 中的运算符可以分为 算术运算符、赋值运算符、字符串运算符、比较运算符、逻辑运算符、类型运算符、按位运算符等。

算术运算符

JavaScript 中算术运算符主要用于对数字执行算术,以数值作为其操作数,并返回一个单个数值。

算术运算符我们可以分为7种:

运算符

描述

+

加,加法运算符的作用是数值求和,或者字符串拼接。

-

减,减法运算符使两个操作数相减,结果是它们的差值。

*

乘,乘法运算符的结果是操作数的乘积。

/

除,除法运算符的结果是操作数的商 ,左操作数是被除数,右操作数是除数。

%

求余,求余运算符返回第一个操作数对第二个操作数的模。

++

递增,递增运算符为其操作数增加1,返回一个数值。


递减,递减运算符将其操作数减去1,并返回一个数值。

赋值运算符

赋值运算符基于右边的值,给左边的值赋值。最基本的赋值运算符是等号=,也是我们最常用到的。

赋值运算符可以分为下面6种:

运算符

描述

=

x = y,将 y 的值赋给 x

+=

x += y, 相当于 x = x + y

-=

x -= y ,相当于 x = x - y

*=

x *= y ,相当于 x = x * y

/=

x /= y ,相当于 x = x / y

%=

x %= ,y相当于 x = x % y

比较运算符

JavaScript 中的比较运算符可以用于比较两个值。关于比较运算符我们可以分为下面8种:

运算符

描述

==

等于

===

等值等类型

!=

不等于

!==

不等于值或不等于类型

>

大于

<

小于

>=

大于等于

<=

小于等于

逻辑运算符

逻辑运算符又被叫做条件运算符,运算的结果只有两种,真(true)或假(false)。关于逻辑运算符可以分为三种,如下所示:

运算符

描述

&&

逻辑与

||

逻辑或

!

逻辑非

类型运算符

类型运算符主要有两种,分别是:

  • typeof:用于查找JavaScript变量的数据类型,返回变量的类型。
  • instanceof:用来判断某个构造函数的prototype属性是否存在在另一个要检测对象的原型链上,返回一个Boolean值,指出对象是否是特定类的一个实例。
示例:

我们可以使用typeof 操作符来检测变量的数据类型,如下所示,定义了一些不同类型的变量,然后在控制台输出这些变量的类型:

var name = "xkd";
var age = 18;
var msg = true;
var lst = [1, 5, 8];
var obj = {a: 1, b:2 };

console.log(typeof(name));  // string
console.log(typeof(age));   // number
console.log(typeof(msg));   // boolean
console.log(typeof(lst));   // object
console.log(typeof(obj));   // object

操作符instanceof可以用于检测函数是否存在于实例对象的原型链中:

function Person() {}
function Student() {}
Student.prototype = new Person();

const student = new Student()

if (student instanceof Student) {
  console.log("student是Student的实例");
}
 
if (student instanceof Student) {
  console.log("student是Person的实例");
}

输出:

student是Student的实例
student是Person的实例
按位运算符

处理32位数字,就是它在操作中的任何数字都将转换为32位数字,结果返回一个JavaScript编号。

关于按位运算符我们有一个大概的相关表格如下:

运算符

描述

示例

等同于

结果

十进制的

&

and 和

5 & 1

0101 & 0001

0001

1

|

or 或者

5 | 1

0101 | 0001

0101

5

~

not 不

~ 5

~ 0101

1010

10

^

xor 异或

5 ^ 1

0101 ^ 0001

0100

4

<<

零填充左移

5 << 1

0101 << 1

1010

10

>>

有符号右移

5 >> 1

0101 >> 1

0010

2

>>>

零填充右移

5 >>> 1

0101 >>> 1

0010

2

上面我们简单的介绍了一下 JavaScript 语言中的几种运算符,后面我们会详细讲一下常用运算符的使用。

熟练识记
  1. 运算符的分类可以有哪些。
  2. 认识和知道运算符的各个基本概念。
  3. 定义两个字符,然后通过 + 运算符连接起来,输出结果值。
  4. 同样定义两个字符串,通过 += 运算符连接起来并将结果赋值给第一个后,在浏览器输出结果。
  5. typeof 类型运算符(在任意类型运行后)的返回值可以有哪些。
  6. new 一个对象,然后通过instanceof 类型运算符进行代码的不同类型计算判断。