算数运算符
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 = 5;var b = 3
[a,b] = [b,a]
a ^= b;b ^= a ;a ^= b
资料来源:饥人谷 网道
本文为贰贰的原创文章,著作权归本人和饥人谷所有,转载务必注明来源