JavaScript运算符功能及简介
运算符的简介
运算符都是JavaScript引擎操作的符号
如:
加号(+):加法运算
减号(-):减法运算
算术运算符简介
算数运算符:
用于运行常见的数学运算
如:
加法、减法、乘法、除法等
例
| 运算符 | 备注 | 示例 |
| + | 加法运算符 | x + y 指计算 x 加 y 的和 |
| - | 减法运算符 | x - y 指计算 x 减 y 的差 |
| * | 乘法运算符 | x * y 指计算 x 乘 y 的积 |
| / | 除法运算符 | x / y 指计算 x 除以 y 的商 |
| % | 取模(取余)运算符 | x % y 指计算 x 除以 y 的余数 |
var x = 100,
y = 40;
console.log("x + y =", x + y); // 输出:x + y = 140
console.log("x - y =", x - y); // 输出:x - y = 60
console.log("x * y =", x * y); // 输出:x * y = 4000
console.log("x / y =", x / y); // 输出:x / y = 2.5
console.log("x % y =", x % y); // 输出:x % y = 2
赋值运算符
赋值运算符用来为变量赋值
| 运算符 | 备注 | 示例 |
| = | 赋值运算符 将运算符右侧的值赋值给运算符左侧的变量 |
x = 10 表示将变量 x 赋值为 10 |
| += | 先进行加法运算 再将结果赋值给运算符左侧的变量 |
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 |
var x = 20;
x += 30;
console.log(x); // 输出:50
var x = 18,
y = 9;
x -= y;
console.log(x); // 输出:9
x = 6;
x *= 36;
console.log(x); // 36
x = 60;
x /= 20;
console.log(x); // 输出:3
x = 100;
x %= 15;
console.log(x); // 输出:10
字符串运算符
在JavaScript中语法中:
+和+=运算符:除了可以进行数学运算外
还可以用来拼接字符串
其中:
+运算符的功能:将运算符左右两侧的字符串拼接到一起
+=运算符的功能:将字符串进行拼接
然后再将结果赋值给运算符左侧的变量
例:
var x = "linux "; var y = "28.com"; var z = x + y; console.log(z); // 输出:linux 28.com x += y; console.log(x); // 输出:linux 28.com
自增、自减运算符
自增、自减运算符用来对变量的值 进行自增(+1)、自减(-1)操作
| 运算符 | 备注 | 说明 |
| ++x | 自增运算符 | 将 x 加 1,然后返回 x 的值 |
| x++ | 自增运算符 | 返回 x 的值,然后再将 x 加 1 |
| --x | 自减运算符 | 将 x 减 1,然后返回 x 的值 |
| x-- | 自减运算符 | 返回 x 的值,然后将 x 减 1 |
var x; x = 10; console.log(++x); // 输出:11 console.log(x); // 输出:11 x = 10; console.log(x++); // 输出:10 console.log(x); // 输出:11 x = 10; console.log(--x); // 输出:9 console.log(x); // 输出:9 x = 10; console.log(x--); // 输出:10 console.log(x); // 输出:9
比较运算符
比较运算符: 用于比较运算符左右两侧的表达式 比较运算符的运算结果是一个布尔值 结果只有两种:不是true就是false
| 运算符 | 名称 | 示例 |
| == | 等于 | x == y 指如果 x 等于 y,则为真 |
| === | 全等 | x === y 指如果 x 等于 y,并且 x 和 y 的类型也相同,则为真 |
| != | 不相等 | x != y 指如果 x 不等于 y,则为真 |
| !== | 不全等 | x !== y 指如果 x 不等于 y,或者 x 和 y 的类型不同,则为真 |
| < | 小于 | x < y 指如果 x 小于 y,则为真 |
| > | 大于 | x > y 指如果 x 大于 y,则为真 |
| >= | 大于或等于 | x >= y 指如果 x 大于或等于 y,则为真 |
| <= | 小于或等于 | x <= y 指如果 x 小于或等于 y,则为真 |
var x = 88; var y = 99; var z = "88"; console.log(x == z); // 输出: true console.log(x === z); // 输出: false console.log(x != y); // 输出: true console.log(x !== z); // 输出: true console.log(x < y); // 输出: true console.log(x > y); // 输出: false console.log(x <= y); // 输出: true console.log(x >= y); // 输出: false
逻辑运算符
逻辑运算符: 常用于组合多个表达式 逻辑运算符的运算结果是一个布尔值,返回true或false
| 运算符 | 名称 | 示例 |
| && | 逻辑与 | x && y 指如果 x 和 y 都为真,则为真 |
| || | 逻辑或 | x || y 指如果 x 或 y 有一个为真,则为真 |
| ! | 逻辑非 | !x 指如果 x 不为真,则为真 |
var year = 2021;
// 闰年可以被 400 整除,也可以被 4 整除,但不能被 100 整除
if((year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0))){
console.log(year + " 年是闰年。");
} else{
console.log(year + " 年是平年。");
}
三元运算符
三元运算符(也被称为条件运算符):
由一个问号和一个冒号组成
语法格式如下:
条件表达式 ? 表达式1 : 表达式2 ;
当“条件表达式”的结果为真(true)
则运行“表达式1”中的代码,否则就执行“表达式2”中的代码。
例
var x = 22,
y = 88;
x > y ? console.log("x 大于 y") : console.log("x 小于 y"); // 输出:x 小于 y
位运算符
位运算符 是JavaScript对二进制进行位操作
| 运算符 | 描述 | 示例 |
| & | 按位与 | 如果对应的二进制位都为 1,则该二进制位为 1 5 & 1 等同于 0101 & 0001 结果为 0001,十进制结果为 1 |
| | | 按位或 | 如果对应的二进制位有一个为 1,则该二进制位为 1 5 | 1 等同于 0101 | 0001 结果为 0101,十进制结果为 5 |
| ^ | 按位异或 | 如果对应的二进制位只有一个为 1,则该二进制位为 1 5 ^ 1 等同于 0101 ^ 0001 结果为 0100,十进制结果为 4 |
| ~ | 按位非 | 反转所有二进制位,即 1 转换为 0,0 转换为 1 ~5 等同于 ~0101 结果为 1010,十进制结果为 -6 |
| << | 按位左移 | 将所有二进制位统一向左移动指定的位数,并在最右侧补 0 5 << 1 等同于 0101 << 1 结果为 1010,十进制结果为 10 |
| >> | 按位右移(有符号右移) | 将所有二进制位统一向右移动指定的位数,并拷贝最左侧的位来填充左侧 5 >> 1 等同于 0101 >> 1 结果为 0010,十进制结果为 2 |
| >>> | 按位右移零(无符号右移) | 将所有二进制位统一向右移动指定的位数,并在最左侧补 0 5 >>> 1 等同于 0101 >>> 1 结果为 0010,十进制结果为 2 |
var a = 5 & 1,
b = 5 | 1,
c = 5 ^ 1,
d = ~ 5,
e = 5 << 1,
f = 5 >> 1,
g = 5 >>> 1;
console.log(a); // 输出:1
console.log(b); // 输出:5
console.log(c); // 输出:4
console.log(d); // 输出:-6
console.log(e); // 输出:10
console.log(f); // 输出:2
console.log(g); // 输出:2