js 构造函数的实例属性和实例方法被实例化多个后是否地址值相同?

看代码

function A(){
}
A.prototype.number = 1
A.prototype.add = function (){
    this.number ++
}

const a = new A()
const b = new A()

a和b都实例化了一个A对象,所以他们俩的地址值都不同,a和b都有了number和add,我想知道他们俩的number和add地址值相同吗?

如果不相同,那我实例化一万个A岂不是会新建一万个add方法,这样是不是特别浪费内存空间?

阅读 2.5k
3 个回答

clipboard.png

如图,a和b都会继承方法A的属性和方法,并不会新建方法

当然是一样的 因为都是__proto__上的属性啊

同一个构造函数的实例都继承了这个构造函数原型对象上的属性和方法。

所以,地址相同。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题