老师 构造函数的prototype 是实例的原型 那么
来源:1-1 课程简介
帅哥但自卑
2021-08-09 08:30:24
1. People.prototype.name='tom';
var student =new People();
3. student.__proto__.name='tom';
老师 那么1 跟3 的作用是一样的吗
1回答
同学你好,作用是一样的,但是两句代码书写位置有区别,具体区别参考如下解析:
1、构造函数的prototype上添加的属性,不管是在实例化对象之前还是实例化对象之后,所有实例都可以访问到,如下:


2、实例的__proto__上添加属性,只能在实例化之后设置才可以,所有实例也都可以访问该属性。如下:


虽然两者的作用一样,但是一般更推荐在函数的prototype上添加让所有实例共享的属性。祝学习愉快~
相似问题