当一个对象已实例化后,如想使其具有新的属性,是否只能通过prototype去添加?为什么不能修改构造函数?
原因是否是,当一个对象已实例化之后,在其属性与方法的存续上就跟构造函数无关系了?
大家讲道理2017-05-19 10:31:49
prototype被称为原型链。
1、一个对象实例化后,是可以直接Object.name添加的。至于通过原型链添加的,是添加的公有属性,其他通过相同类实例的对象都可以访问。
2、实例化后的对象是无法访问原型链,原型链只有Class才会有,并且,原型链的属性和方法是通过Class.prototype来添加的。构造函数也是属于原型链方法,你可以修改你通过实例后获得的构造函数,不过无法影响Class的构造函数,并且会随着Class.prototype的更改而更改。
至于实例化后的对象想要使用在原型链中定义的属性与方法,可以直接Object.name来进行使用。
你可以去看一下有关原型链的知识,百度一搜有很多。
本人也是新人,不足之处,望指出。