在 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 语言中的几种运算符,后面我们会详细讲一下常用运算符的使用。
熟练识记
- 运算符的分类可以有哪些。
- 认识和知道运算符的各个基本概念。
- 定义两个字符,然后通过 + 运算符连接起来,输出结果值。
- 同样定义两个字符串,通过 += 运算符连接起来并将结果赋值给第一个后,在浏览器输出结果。
- typeof 类型运算符(在任意类型运行后)的返回值可以有哪些。
- new 一个对象,然后通过instanceof 类型运算符进行代码的不同类型计算判断。