Object.prototype.hasOwnProperty.call(src, prop) ?

  • Object.prototype.hasOwnProperty.call(src, prop) 和 src.hasOwnProperty(prop) 的区别是什么呢?
  • 为什么要用 Object.prototype.hasOwnProperty.call(src, prop) 呢?
阅读 1.9k
2 个回答

这跟对象的属性查找有关,如果对象本身有hasOwnProperty属性,就不会继续查找原型链上的这个方法去调用,也就是这个方法可能被重写,也可能像楼上演示的一样,src对象以及它的原型链上都没这个方法,src也就调不了这个方法。
Object.prototype.hasOwnProperty.call相当于是为了保证调用的是Object原型对象上的hasOwnProperty方法。

推荐问题