javascript运算符详解
2020年5月26日大约 2 分钟约 470 字
加减乘除等等非常常用的大家都知道就不要讲了,这里列出一些其他的运算符:
算数运算符
运算符 | 描述 |
---|---|
% | 求余数 |
** | 幂 |
++ | 递加(给自己加上1) |
-- | 递减(给自己减去1) |
+= -= *= /= %= **= | 计算完再赋值给自己 |
// 声明变量并赋值
const a = 15
const b = 4.0 // js只有一种数值类型,写不写小数点都行
const c = "18"
let d = 1
const e = 123e4 // 1230000
const f = 123e2 // 1.23
// 15+1+"18"="1618" (数字+字符串时,js会当做字符串相加)
// js是从左向右计算的,前面没有遇到字符串所以会作为数字相加
const count1 = a + 1 + c
console.log(count1)
// 15余4等于3
const count2 = a % b
console.log(count2)
// 15的4次方等于50625
const count3 = a ** b
console.log(count3)
// 变量d自加1(只读变量和非数字类型的变量不可自加!,不过字符串类型的数字可以自加)
d++
console.log(d)
注意:
- 字符串类型的数字是可以自加的,并且结果会转换成数字类型!
按位运算符
符号 | 解释 | 操作 | 等同于 |
---|---|---|---|
& | 两位都是 1 则设为 1 | 5 & 3 === 1 | 0101 & 0011 === 0001 |
| | 只要有一位为1则设为1 | 5 | 3 === 7 | 0101 & 0011 === 0111 |
^ | 有且仅有一位为 1 则设为 1 | 5 ^ 3 === 6 | 0101 & 0011 === 0110 |
~ | 反转所有位 | ~5 === -6 | ~0101 === -0110 (这里有点不理解) |
&= |= ^= | 计算完再赋值给自己 | let a=5; a&=3 | |
<< | 零填充左位移 | 5 << 1 === 10 | 0101 << 1 === 1010 |
>> | 有符号右位移 | 5 >> 1 === 2 | 0101 >> 1 === 0010 |
>>> | 零填充右位移 | 5 >>> 1 === 2 | 0101 >>> 1 === 0010 |
<<= >>= >>>= | 计算完再赋值给自己 | ||
逻辑运算符
符号 | 解释 | 使用 |
---|---|---|
&& | 逻辑与 | x && y |
|| | 逻辑否 | x || y |
? : | 条件 | const result = (age < 18) ? '我是未成年':'我是成年人' |