前端基础类学习

JavaScript:(a == 1 && a

2018-01-26  本文已影响8人  饥人谷_米弥轮
Code:
const a = {
  num: 0,
  valueOf: function() {
    return this.num += 1
  }
}
原理:
  1. 表达式使用的是==,而不是===,由于==会有隐性转换的问题,这样在Javascript中就意味着更多的变化
  2. valueOf这个方法会在当对象需要转换为原始值的时候自动调用,如:
const a = {
  num: 0
}

a.valueOf() //--> {num:0}

//用typrof检验 a.valueOf  //--> "Object"
a.valueOf = function() {
  return this.num
}
a.valueOf = function() {
  return this.num += 1
}
结果:
上一篇下一篇

猜你喜欢

热点阅读