关于js中的类和对象

js中,先有对象后有类。
js继承时,它跟其他语言有区别。js继承实际上是通过原型链。原型链的上的对象可以随意指定,但他是一个对象,和本对象只有一个关系就是原型链。

如果执行了原型链的方法,原型链方法中的this指针绑定的还是本对象。但是疑惑的原型链中方法还是能修改到原型链的对象的属性值。这是因为虽然this绑定了本对象,但是如果this指向的属性在本对象没有,他仍然会继续往上查找,找到原型链上对象的属性进行修改。
虽然原型链上的对象在本对象来说都是只读,也就是不能去赋值和删除原型链对象的属性。但是可以对这个属性(也是对象),执行他的方法。比如如果这个属性是一个数组,可以对这个数组进行增删改查。
如果要避免修改到原型链的对象,可以修改方法为赋值语句,这样就只会对本对象进行操作

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容