扫码关注官方订阅号
instance1在SubType里面找不到colors,就会去原型里面找colors,但是SubType.prototype是SuperType的一个实例吧,那么在这个实例里面给colors添加一个black,又会在instance2里面体现出来。本人小白,最近一直在自学js,描述错的地方请见谅。
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
instance1 和 instance2 都是SubType的实例。
如果代码是这样的
instance1.colors = 'black'
则只会给instance1添加一个colors属性,而不会影响SubType 的colors
但是下面的代码
instance1.colors.push()
调用的push方法,instance1需要顺着原型链搜索,push之后修改了 SubType的colors
再new一个instance2的时候,它和instance1的原型是一样的,因为instance1修改了SubType的colors,读取instance2的colors时就会在原型中找到instance1修改过的colors。
所有alert的结果是一样的
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
instance1 和 instance2 都是SubType的实例。
如果代码是这样的
则只会给instance1添加一个colors属性,而不会影响SubType 的colors
但是下面的代码
调用的push方法,instance1需要顺着原型链搜索,push之后修改了 SubType的colors
再new一个instance2的时候,它和instance1的原型是一样的,因为instance1修改了SubType的colors,读取instance2的colors时就会在原型中找到instance1修改过的colors。
所有alert的结果是一样的