【无标题】

本文深入探讨JavaScript原型链的概念,展示了如何通过`Object.create()`或`dog.prototype`创建原型链。通过实例说明了对象属性的访问、修改和删除机制,强调了原型链在对象属性查找过程中的作用。总结指出,原型链主要负责对象属性的访问,查找优先在对象本身,其次沿着原型链向上查找。同时,修改对象属性仅影响自身,不影响原型链。
摘要由CSDN通过智能技术生成

@原型链

原型链

讲原型一个不可避免的概念就是原型链,原型链是通过前面两种创建原型Object.create()或dog.prototype的方式生成的一个_prtoto_指针来实现的。

function foo(){
foo.prototype.z=3;
}
var obj = new foo();
obj.x = 1;
obj.y = 2;
console.log(obj);//foo {x: 1, y: 2}
console.log(obj.z);//3

对象obj上是没有z的,但是他的原型链上有z,所以查找的时候如果对象本身不存在的话就会沿着原型链往上查找

obj.z=5;
console.log(obj.z);//5
console.log(foo.prototype.z);//3

如果对象上有的话则不会向原型链上查找,而且并不会改变原型链上的值

总结一下原型链作用:对象属性的访问修改和删除。

访问。优先在对象本身查找,没有则顺着原型链向上查找
修改。只能修改跟删除自身属性,不会影响到原型链上的其他对象。
总结
由于所有的实例对象共享同一个 prototype 对象,那么从外界看起来,prototype 对象就好像是实例对象的原型,而实例对象则好像”继承”了 prototype 对象一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值