运算符就是在代码里面进行运算的时候使用的符号,不光只是数学运算,我们在 js 里面还有很多的运算方式
1.数学运算符
-
"+"
- 只有符号两边都是数字的时候才会进行加法运算
- 只要符号任意一边是字符串类型,就会进行字符串拼接
-
"-"
-
会执行减法运算
-
会自动把两边都转换成数字进行运算
-
-
"*"
- 会执行乘法运算
- 会自动把两边都转换成数字进行运算
-
"/"
- 会执行除法运算
- 会自动把两边都转换成数字进行运算
-
"%"
- 会执行取余运算
- 会自动把两边都转换成数字进行运算
2.赋值运算符
-
"="
- 就是把
=
右边的赋值给等号左边的变量名 var num = 100
- 就是把 100 赋值给 num 变量
- 那么 num 变量的值就是 100
- 就是把
-
"+="
var a = 10; a += 10; console.log(a); //=> 20
a += 10
等价于a = a + 10
-
"-="
var a = 10; a -= 10; console.log(a); //=> 0
a -= 10
等价于a = a - 10
-
"*="
var a = 10; a *= 10; console.log(a); //=> 100
a *= 10
等价于a = a * 10
-
"/+"
var a = 10; a /= 10; console.log(a); //=> 1
a /= 10
等价于a = a / 10
-
"%="
var a = 10; a %= 10; console.log(a); //=> 0
a %= 10
等价于a = a % 10
3. 比较运算符
"=="
- 比较符号两边的值是否相等,不管数据类型
1 == '1'
- 两个的值是一样的,所以得到 true
"==="
- 比较符号两边的值和数据类型是否都相等
1 === '1'
- 两个值虽然一样,但是因为数据类型不一样,所以得到 false
"!="
- 比较符号两边的值是否不等
1 != '1'
- 因为两边的值是相等的,所以比较他们不等的时候得到 false
"!=="
- 比较符号两边的数据类型和值是否不等
1 !== '1'
- 因为两边的数据类型确实不一样,所以得到 true
">="
- 比较左边的值是否 大于或等于 右边的值
1 >= 1
true1 >= 0
true1 >= 2
false
"<="
- 比较左边的值是否 小于或等于 右边的值
1 <= 2
true1 <= 1
true1 <= 0
false
">"
- 比较左边的值是否 大于 右边的值
1 > 0
true1 > 1
false1 > 2
false
"<"
- 比较左边的值是否 小于 右边的值
1 < 2
true1 < 1
false1 < 0
false
4.逻辑运算符
"&&"
- 进行 且 的运算
- 符号左边必须为 true 并且右边也是 true,才会返回 true
- 只要有一边不是 true,那么就会返回 false
true && true
truetrue && false
falsefalse && true
falsefalse && false
false
"||"
- 进行 或 的运算
- 符号的左边为 true 或者右边为 true,都会返回 true
- 只有两边都是 false 的时候才会返回 false
true || true
truetrue || false
truefalse || true
truefalse || false
false
"!"
- 进行 取反 运算
- 本身是 true 的,会变成 false
- 本身是 false 的,会变成 true
!true
false!false
true
5.自增自减运算符(一元运算符)
-
"++"
-
进行自增运算
-
分成两种,前置++ 和 后置++
-
前置++,会先把值自动 +1,在返回
var a = 10; console.log(++a); // 会返回 11,并且把 a 的值变成 11
-
后置++,会先把值返回,在自动+1
var a = 10; console.log(a++); // 会返回 10,然后把 a 的值变成 11
-
-
"--"
- 进行自减运算
- 分成两种,前置-- 和 后置--
- 和
++
运算符道理一样
自增小案例
var k = -2;
alert(++k + k++ + ++k + k);
// 分析
// 第一个++k ++在前面 k先自增,后赋值给a
// var a = ++k => a = -1, k = -1
// 第二个k++ ++在后面 k先把值赋给b,
// 这个时候的k已经经过一轮自增所以为-1,后自增
// var b = k++ => b = -1, k = 0
// 第三个++k ++在前面 k先自增,后赋值给c
// var c = ++k => c = 1, k = 1
// 第二个k++ ++在后面 k先把值赋给d,
// 这个时候的k已经经过自增所以为k = 1,后自增
// var d = k => d = 1, k = 2
//最后把abcd四个值相加就是我们要输出的值了
// a + b + c + d=-1 + (-1) + 1 + 1=0