js中的操作符

一元操作符(++、–)

let num  =  1
// 前置型,先自身累加或累减,后操作
console.log(++num) //-> 1+1 -> 2
console.log(--num) //-> 2-1 ->1
console.log(++num+1) //-> 1+1+1 -> 3
console.log(--num-1) //-> 2-1-1 -> 4

// 后置型,会先操作,后自身累加或累减
num = 1
console.log(num++)  // -> 先输出1,自身累加 -> 1+1 
console.log(num--) // 先输出2,自身累减 -> 2-1
console.log(5+num++)  //-> 5+1 -> 输出 6 -> 自身累加 num = 2
console.log(8-num--) //-> 8-2 ->输出 6 -> num = 1
console.log((num++)+3) //-> 1+3 ->输出 4 -> num=2
console.log((num--)-2) // -> 2-2 -> 输出 0 -> num = -1

逻辑操作符

(0,null,undefined,"",NaN)为false,其他全部为true

非(!)

会将它操作的对象转换为布尔值,然后对其取反,会返回一个布尔值

console.log(!0) // true
console.log(!'abc') // false
console.log(!1) // false 
console.log(!null) //true
console.log(!11) //fasle

//俩个叹号表示取反再取反
console.log(!!0) // false
console.log(!!'abc') // true
console.log(!!1) // true 
与(&&)

判断时,两个为真则为真,一个为假则为假

// 赋值时,只有第一个值为true的情况下才会返回第二个值,如果第一个值为false的话就返回第一个值,并且不会再对右侧进行操作了
console.log(!{} && {a:'1'}) // false
console.log(0 && {a:'1'}) // 0
console.log(1 && {a:'1'}) // {a: "1"}
console.log({} && {a:'1'}) // {a: "1"}
console.log({} && 1) // 1
console.log({} && 'a') // a
console.log({} && false) // false
或(||)

判断时,一个为真则为真,两个为假则为假

// 赋值时,只有第一个值为false的情况下才会返回第二个值,如果第一个值为true的话就返回第一个值,并且不会再对右侧进行操作了
console.log(!{} || {a:'1'}) // {a:'1'}
console.log(0 || {a:'1'}) // {a:'1'}
console.log(1 || {a:'1'}) // 1
console.log({} || {a:'1'}) // {}

关系操作符(>、<、>=、<=)

  1. 数值与数值就正常比较
  2. 字符串与字符串比较的是字符编码值
  3. 数值与其它类型相比较会将其它类型隐式转换为数值,然后再做比较
  4. 其它类型值比较都会转换为数值,再进行比较

相等操作符(==、===)

  1. == 相等
  2. != 不相等

相等和不相等的比较规则
1. 布尔值与其它类型值做比较会把布尔值转换为数字再做比较,false为0,true为1
2. 字符串和数值比较时,会把字符串转换为数值再做比较
3. 对象和其它类型值做比较的时候会调用toString()方法,得到原始值之后再通过上面两条规则进行转换比较
4. null == object, null和undefined和其它类型作比较的时候都是false
5. NaN != NaN , NaN与其它类型作比较的时候都是false
6. 对象与对象作比较是将两个内存地址作比较,也就是判断他们是不是同一个对象

  1. === 全等,只有在连类型都相同的情况下,左右两边的值才会相等
  2. !== 不全等

赋值操作符

=、+=、-=、*=、/=、%=

let n = 1
console.log(n += 1) //-> n = n+1 -> n = 1+1
console.log(n -= 1) //-> n = n-1 -> n = 2-1

加(+)减(-)乘(*)除(/)和求模(取余,%),都是正常运算,要注意当数字与字符串相加时会变成字符串拼接,以及加减表正负的操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值