原型和原型链

本文详细介绍了JavaScript中的原型和原型链概念。任何函数都有prototype属性,对象有__proto__属性,实例对象的__proto__指向构造函数的prototype。通过实例,展示了原型链的工作原理,当查找对象属性时,会沿着原型链向上搜索,直到找到属性或到达原型链顶端的null。文章还提到了相关深度学习资源,帮助读者深入理解这一核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前看《JavaScript高级设计程序》对原型和原型链有了一定的了解,也觉得自己掌握了,但是今天回顾起来,发现很多都忘记了…今天就来总结下吧

原型

  • 任何函数都有显式原型prototype
  • 任何引用(对象/数组/函数)都有隐式原型__proto__
  • 实例对象的隐式原型和其构造函数的显示原型相同
    在这里插入图片描述
        function Person(name) { this.name = name; }
        Object.prototype.zhiye = 'student';
        var lxt = new Person('liang');
        console.log(lxt.name);//liang
        console.log(lxt.zhiye);//student

原型链

当一个构造函数的实例是另一构造函数的显示原型时,这样就会形成一个链条。
在这里插入图片描述
此图最能说明!!!

如果实例对象中的找不到对应的属性,就去Fo.prototype找,还是找不到就去Foo.prototype找,仍然找不到就去Object.prototype找。

原型链的顶端是null

参考到的深度好文:

  • https://zhuanlan.zhihu.com/p/63940964
  • https://www.cnblogs.com/loveyaxin/p/11151586.html
  • https://blog.youkuaiyun.com/yucihent/article/details/79424506
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值