文章目录
运算符
运算符也叫操作符
通过运算符可以对一个或多个值进行运算
例如typeof
就是一个运算符,可以来获取一个值的类型。
算术运算符
+
-
对两个值进行加法
-
如果对两个字符串进行加法运算,则会拼串。
-
任何的值和字符串做加法运算,都会先转换为然后做拼串操作
a = 10
result = a + 1
console.log(result)// 11
result = 1 + 2
console.log(result)// 3
result = true + 1
console.log(result)// 2
result = true + false
console.log(result)// 1
result = 2 + null
console.log(result)// 2
result = 2 + NaN
console.log(result)// NaN
result = '123' + '456'
console.log(result)//123456
result = 123 + '1'
console.log(result)//1231
// 想想下面两个的输出结果是什么样的
result = 1 + 2 + '3'
result = '1' + 2 + 3
-
可以对两个值进行减法运算,并将结果返回
result = 100 - true // 99
result = 100 - '1' // 99
*
可以对两个值进行乘法运算
result = 2 * 2 //4
result = 2 * '8' //16
result = 2 * undefined // NaN
result = 2 * null // 0
/
可以对两个值进行除法运算
result = 4 / 2 // 2
result = 3 / 2 // 1.5
小结
a = '5'
b = a - 0
console.log(a) // '5'
console.log(typeof a) // String
console.log(b) // 5
console.log(typeof b) // Number
%
取模运算,取余数
result = 9 % 3 // 0
result = 9 % 4 // 1
result = 9 % 5 // 4
一元运算符
一元运算符,只需要一个操作数
+
正号
正号不会对数字产生任何影响
a = 123
a = +a // 123
-
负号
- 负号可以对数字进行 负号的取反
a = 123
a = -a // -123
- 对于非Number类型的值,它会先转换为Number,然后再运算
- 可以对一个其他的数据类型使用+,来将其转换为Number
自增
a = 1
a = a + 1
console.log(a) // 2
a ++
console.log(a) // 3
a = 1
console.log(++a) // 2
console.log(a++) // 2
console.log(a) // 3
自减
和自增类似
逻辑运算符
三种逻辑运算符 !
&&
||
,分别叫非、与、或
!
a = true
a != a
console.log('a = '+'a) // False
b = 10
b = !b
console.log('b = '+b) // b = false
console.log(typeof b) // boolean
&&
result = ture && ture
console.log(result) // ture
result = ture && fales
console.log(result) // fales
||
result = false && false
console.log(result) // false
result = ture && fales
console.log(result) // true
非布尔值
ture && true
两个true时返回后面一个值
result = 1 && 2
console.log(result) // 2
result = 2 && 1
console.log(result) // 1
true && false
如果有错,返回考前错的那个。
result = 0 && 2
console.log(result) // 0
result = 2 && 0
console.log(result) // 0
result = 0 && NaN
console.log(result) // 0
result = NaN && 0
console.log(result) // NaN
true || true
两个都为true,返回前一个true的值
result = 1 && 2
console.log(result) // 1
result = 2 && 1
console.log(result) // 2
false || true
第一个值为false,直接返回第二个值
result = NaN || 1
console.log(result) // 1
result = NaN || 0
console.log(result) // 0
赋值运算符
=
例子太多了
+=
a = a + 1
// 等价于
a += 1
-=
a = a - 1
// 等价于
a -= 1
关系运算符
通过关系运算符可以比较两个值之间的关系,如果关系成立它会返回true,如果不成立则返回false
>
和>=
略
<
和 <=
略
非数值的情况
result = 1 > true // false
result = 1 >= true // true
相等运算符
==
1 == 1 // true
'1' == 1 // true
===
'1' === 1 // false
条件运算符
true?alert('语句1'):alert('语句2'); // 执行alert('语句1')