什么是原型链

本文深入探讨JavaScript中的原型链概念,解释了如何通过原型链实现对象间的关系,如父子、兄弟关系,并展示了如何通过__proto__属性访问对象的原型。同时,介绍了在JavaScript中所有数据类型都基于Object的事实,以及如何通过原型链查找属性和方法。当尝试调用对象的方法时,JavaScript会沿着原型链逐级查找,直到找到定义或返回错误。
摘要由CSDN通过智能技术生成

 /*

            原型链 : 描述的是 函数对象 和 函数对象之间的关系

                                人   和   人

                                父子  兄弟  

        */

        //Object是JS当中默认的数据类型

        Object.prototype.fo = function(){

            return "我是恁爹"

        }

        function Dog(name){

            this.name = name;

        }

        var d1 = new Dog("大黄");

        //Dog的原型是Object数据类型

        //Dog的原型对象是 函数对象 还是 引用对象, 原型对象 都是 引用对象

        console.log(d1.__proto__); //伪对象

        console.log(d1.foo());

        //既然Object本省也是一个函数对象,当前的函数对象有没有原型,有

        //原型对象当中存储了Object函数的prototype属性

        // console.log(Object);

       

        /*

            在JS中说有的数据类型,都是由Object生成

            Object的原型可以被任意数据类型使用

        */

        /*

            原型链是JS中查找属性或方法的语法

           

            d1调用fo()函数,优先本对象当中进行查找,如果找不到,则查找Dog的原型对象

            如果找不到,找Object的原型对象,还是找不到,一直找到null,返回报错

       

        */

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值