0
点赞
收藏
分享

微信扫一扫

原 型 链

code_balance 2022-04-06 阅读 72
javascript
 <script>
        /* 
        1.原型链 : 每一个实例对象都有自己的原型,而原型也是对象,也有自己的原型。以此类推,形成链式结构,称之为原型链。

        2.原型链访问规则 :就近原则
            * 对象优先访问自己的成员,自己没有就找原型的,如果原型也没有,就找原型的原型。以此类推,直到原型链终点null. 如果还找不到, 属性则获取undefined,方法则报错undefined is not a function
 </script>

内置对象原型链

 <script>
        /* 
        1.原型链 : 每一个实例对象都有自己的原型,而原型也是对象,也有自己的原型。以此类推,形成链式结构,称之为原型链。

        2.原型链访问规则 :就近原则
            * 对象优先访问自己的成员,自己没有就找原型的,如果原型也没有,就找原型的原型。以此类推,直到原型链终点null. 如果还找不到, 属性则获取undefined,方法则报错undefined is not a function

        3.原型链作用: 继承
            * js 用 ‘原型链’ 实现面向对象继承
                * 了解: 几乎所有的框架底层都是用原型链实现继承
        
        */   
       
        //数组实例对象
        let arr = [10,20,30]// new Array(10,20,30)

        //1.查看数组的原型 : 2行代码
        console.log( arr.__proto__.constructor )//Array
        console.log( arr.__proto__ === Array.prototype )//true

        //2.查看数组的原型的原型
        console.log( arr.__proto__.__proto__.constructor )//Object
        console.log( arr.__proto__.__proto__ === Object.prototype )//true


        //字符串实例
        let str = 'abc'// new String('abc')
        //查看str的原型
        console.log( str.__proto__.constructor )//String
        console.log( str.__proto__ === String.prototype )//true\
        //2.查看数组的原型的原型
        console.log( str.__proto__.__proto__.constructor )//Object
        console.log( str.__proto__.__proto__ === Object.prototype )//true
        
        
        
    </script>
举报

相关推荐

0 条评论