算数运算符

nubmber

  1. 4/2 //除法运算符
  2. 1+2 //加法运算符
  3. 3-1 //减法运算符
  4. 2*2 //乘法运算符
  5. 4%2 //余数运算符
  6. ++x x++ //自增运算符
  7. --x x-- // 自减运算符
  8. -x //负数值运算符

前自增与后自增的区别

  1. var a = 1
  2. a++
  3. a
  4. // return 1
  5. var b =1
  6. b++
  7. b
  8. // return 2

变量在前面 就返回原来的值 ;变量在后面就返回自增后的值 。

一般少用++改写成a+=1

string

字符串只支持一个+运算符

  1. '1' + '2'
  2. // '12'

比较运算符

  1. > //大于运算符
  2. < //小于运算符
  3. <= //小于或等于运算符
  4. >= //大于或等于运算符
  5. == //相等运算符
  6. === //严格相等运算符
  7. != //不相等运算符
  8. !== //严格不相等运算符

直接不要使用 =====

布尔运算符

  1. console && console.log && console.log('hi')
  1. 取反运算符:!
  2. 且运算符:&&
  3. 或运算符:||
  4. 三元运算符:?:
  1. function add(n){
  2. return n+=1
  3. }
  4. add(null)
  5. // return 1

二进制运算符

  1. 二进制或运算符(or):符号为|,表示若两个二进制位都为0,则结果为0,否则为1
  2. 二进制与运算符(and):符号为&,表示若两个二进制位都为1,则结果为1,否则为0
  3. 二进制否运算符(not):符号为~,表示对一个二进制位取反。
  4. 异或运算符(xor):符号为^,表示若两个二进制位不相同,则结果为1,否则为0
  5. 左移运算符(left shift):符号为<<,详见下文解释。
  6. 右移运算符(right shift):符号为>>,详见下文解释。
  7. 头部补零的右移运算符(zero filled right shift):符号为>>>。

位运算只对整数有效,遇到小数时,会将小数部分舍去,只保留整数部分。

点运算符

对象.属性名 = 属性值

点只能用在对象上面

void 运算符

void运算符的作用是执行一个表达式,然后不返回任何值,或者说返回undefined。

  1. void 0 // undefined
  2. void(0) // undefined

运算符的优先级

圆括号优先级最高

MDN有相关说明 点击这里

复制顺序 从右往左

  1. let a,b,c,d
  2. a=b=c=d=2
  3. a = ( b = ( c = ( b ))) = 2

面试题

使用与运算符判断一个数的奇偶

  1. 7 & 1
  2. // 1 奇数
  3. 8 & 1
  4. // 0 偶数

使用~,>>,<<,<<<,|来判断整数

位元算不支持小数

  1. console.log(~~ 6.93)
  2. console.log(6.38 >> 0)
  3. console.log(6.38 << 0)
  4. console.log(6.38 | 0)
  5. console.log(6.38 >>> 0)
  6. // 6

使用^来交换 a b 的值

  1. var a = 5var b = 3
  2. [a,b] = [b,a]
  3. a ^= b;b ^= a ;a ^= b

12 运算符 - 图1


资料来源:饥人谷 网道

本文为贰贰的原创文章,著作权归本人和饥人谷所有,转载务必注明来源