基础运算符
基础运算符
1. 术语:“一元运算符”、“二元运算符”、“运算元”
1.1 运算元
运算符应用的对象,如乘法运算 5*2
,有两个运算元,左运算元5
和右运算元2
。
1.2 一元运算符
一个运算符对应的只有一个运算元,如一元负号运算符。
1.3 二元运算符
一个运算符拥有两个运算元。
2. 二元运算符 +
连接字符串
+
号用于连接字符串
只要任意一个运算元是字符串,那么另一个运算元也将被转换为字符串,其他算术运算符只对数字起作用,并且总是将其运算元转换为数字。
3. 一元运算符 +
,数字转换
+
号运算元不是数字,则会将其转换为数字
// 对数字无效
let x=1
alert(+x) //1
let y = -2
alert(+y) // -2
// 转换非数字
alert(+true) // 1
alert(+"") //0
+"ddd" // NaN
4. 运算符优先级
逻辑非(!)
> 逻辑与(&&)
> 逻辑或(||)
> 一元运算符 > 算术运算符 > 赋值运算符
5. 赋值运算符
赋值=返回一个值,所有的运算符都将返回一个值
6. 链式赋值
let a,b,c
a=b=c=2+2
console.log(a,b,c) //4,4,4
链式赋值从右到左进行计算。
7. 原地修改
+= -= *= /=
这类运算符优先级与普通赋值运算符优先级相同
let a = 5 let a = 5
a += 2 a *= 2
相当于
let a = 5 let a = 5
a = a + 2 a = a * 2
8. 自增自减 (++、--)
8.1 前置形式
先运算,后赋值
let count = 1
let total = ++count
alert(count) // 2
alert(total) // 2
8.2 后置形式
先赋值,后运算
let count = 1
let total = count++
alert(count) // 2
alert(total) // 1