IT源码网

怎样调用对象的原生方法

itxm 2021年03月09日 编程语言 436 0

所谓对象的原生方法, 也就是对象的原型链上的方法, 比如Object.prototype.hasOwnProperty(), 但原生方法可以在实例对象中覆盖, 这是如果我们想调用它的原生方法, 那就需要使用Function.prototype.call()方法了.

var obj = {}; 
obj.hasOwnProperty('toString') // false 
 
// 覆盖掉继承的 hasOwnProperty 方法 
obj.hasOwnProperty = function () { 
  return true; 
}; 
obj.hasOwnProperty('toString') // true 
 
Object.prototype.hasOwnProperty.call(obj, 'toString') // false

 

将Object.prototype.hasOwnProperty()方法置于obj对象环境中去执行, 此时就不会调用到obj.prototype.hasOwnProperty()方法, 因此不会受到影响.

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!