JS运算符

93 阅读2分钟

算数运算符

nubmber

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

前自增与后自增的区别

var a = 1
a++
a
// return 1
var b =1
b++
b
// return 2

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

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

string

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

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

比较运算符

> //大于运算符
< //小于运算符
<= //小于或等于运算符
>= //大于或等于运算符
== //相等运算符
=== //严格相等运算符
!= //不相等运算符
!== //严格不相等运算符

直接不要使用 =====

布尔运算符

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

二进制运算符

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

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

点运算符

对象.属性名 = 属性值

点只能用在对象上面

void 运算符

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

void 0 // undefined
void(0) // undefined

运算符的优先级

圆括号优先级最高

MDN有相关说明 点击这里

复制顺序 从右往左

let a,b,c,d
a=b=c=d=2
a = ( b = ( c = ( b ))) = 2

面试题

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

 7 & 1
 // 1 奇数
 8 & 1
 // 0 偶数

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

位元算不支持小数

console.log(~~ 6.93)
console.log(6.38 >> 0)
console.log(6.38 << 0)
console.log(6.38 | 0)
console.log(6.38 >>> 0)
// 6

使用^来交换 a b 的值

var a = 5var b = 3
[a,b] = [b,a]
a ^= b;b ^= a ;a ^= b

image-20210211155421577


资料来源:饥人谷 网道

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