在JavaScript中,运算符是用于执行各种操作的符号,它们可以分为不同的类别,包括赋值运算符、算术运算符、一元运算符、比较运算符、逻辑运算符等。以下是一些常见的JavaScript运算符及其功能:
赋值运算符
=
:简单赋值+=
:加法赋值 例如: a += b 等价于 a = a + b-=
:减法赋值 例如: a -= b 等价于 a = a - b*=
:乘法赋值 例如: a *= b 等价于 a = a * b/=
:除法赋值%=
:取余赋值
算术运算符
+
:加法-
:减法*
:乘法/
:除法%
:取余(模运算) 例如:3 % 2 ===> 表示的含义就是求 3 除以2 的余数1
一元运算符(使用场景:在循环语句中使用一元运算)
++
:自增--
:自减
let a = 1;
a++; //2
++a; //2
a--; //0
--a; //0
console.log(a);
// 结论:
// a) 不管加号在变量的前面还是变量的后面,最后变量都要加1。
// b) 不管减号在变量的前面还是变量的后面,最后变量都要减1。
区别:一元运算符只有赋值给新的变量,新变量的值有区别的。
// let a = 1;
// let b = a++;
// console.log(a); // 2
// console.log(b); // 1
//原因: 加号在变量a的后面,计算机先将变量a原来的值赋值给变量b
//赋值完成后,变量a自己再加1
// let a = 1;
// let b = ++a;
// console.log(a); // 2
// console.log(b); // 2
// 原因: 加号在变量a的前面,计算机先将变量a加1,然后将加1后的值赋值给变量b
比较运算符
>
:大于<
:小于>=
:大于或等于<=
:小于或等于==
:等于(类型转换后比较)!=
:不等于(类型转换后比较)===
:严格等于(值和类型都相同)!==
:严格不等于(值或类型有一个不相等)
// 比较运算符总结
// a) 比较运算符得到的结果是一个布尔值 (true 或者 false)
// b) >= 大于或等于 只要有一个结果正确最后的结果就是正确的
// c) == 等于,只判断值是否相等
// d) === 全等于,值和数据类型必须都一样
let a = '1';
let b = '1';
let c = 1;
console.log(a !== b); //false
console.log(a !== c); //true
console.log(a != b); //false
console.log(a != c); //false
逻辑运算符(应用场景: 在程序中用来连接多个比较条件时候使用)
&&
:===> 且运算 (并且)||
:===> 或运算 (或者)!
: ===> 非 (取反)
// 逻辑运算符: 最后得到的结果也是一个布尔值
// 且运算规律: 且并且的意思 ,表示所有的条件都得成立,最后且运算的结果才成立,否则不成立
// false && false ===> false
// false && true ===> false
// true && true ===> true
// 总结: 都是真则为真, 遇假则为假
// let a = 1;
// let b = 2;
// let c = 3;
// console.log(a < b && a < c); //true
// 或运算规律: 或就是或者的意思, 表示只要有一个成立,最后或运算后结果就是成立的
// true || true ===> true
// false || true ===> true
// false || false ===> false
// 总结: 遇真则为真, 都是假(false)则为假
// let a = 1;
// let b = 2;
// let c = 3;
// console.log(a > b || a > c); //false
// 非运算: 取反 (正确的取反 就是错误 | 错误的取反 就是正确)
运算符优先级
- 算数运算符:()级别最高
- 一元运算符: ++ -- 和 逻辑非!
- 算数运算符:先乘除后加减
- 比较运算符:> < >= <= ===
- 逻辑运算符:|| && (&&比||优先级高)
- 赋值运算符:级别最低