首页 > 其他分享 >字面量修改原型

字面量修改原型

时间:2023-01-11 22:00:28浏览次数:34  
标签:__ console log 修改 原型 prototype 字面

问题背景

JavaScript高级程序设计中提到用字面量修改prototype会导致实例无法通过[[Prototype]]访问原型

解决

使用Object.assign函数 复制需要的属性和方法

function f() {
  this.a = 1
}
let a = new f()
console.log(a.__proto__ === f.prototype);
Object.assign( f.prototype,{
  b:123,
  p() {
    console.log(this);
  }
})
console.log(a.__proto__ === f.prototype)
a.p()    // {a: 1}
a["p"]() // {a: 1}

标签:__,console,log,修改,原型,prototype,字面
From: https://www.cnblogs.com/dou-fu-gan/p/17045020.html

相关文章