js的原型链图解

目录

前言:

1.数字number

 2.日期原型链date

​编辑3.math()原型链

 4.boolean原型链

 5.string原型链

 6.数组原型链

7.对象原型链

总结


前言:

什么是原型链?

原型链:就是实例对象和原型对象之间的链接,每一个对象都有原型,原型本身又是对象,原型又有原型,以此类推形成一个链式结构.称为原型链

1.数字number

 2.日期原型链date

3.math()原型链

 4.boolean原型链

 5.string原型链

        var str = new String()
        //他就是一个字符串实例 化 对象
        console.log(str) //String {''}
        
        console.log(str.__proto__) //String {'', constructor: ƒ, anchor: ƒ, at: ƒ, big: ƒ, …}

        // str 实例化对象的原型对象 的原型对象就是 字符串
        console.log(str.__proto__.constructor) // ƒ String() { [native code] }
        // str 的实例化对象的原型对象  就是构造函数的原型对象
        console.log(str.__proto__ == String.prototype) //true

        //str的原型对象 的原型对象 的原型对象 也是obj
        console.log(str.__proto__.__proto__.constructor) //ƒ Object() { [native code] }

        // 实例化对象的       原型对象的 原型对象的 原型对象 是 null  (万物皆空!)
        console.log(str.__proto__.__proto__.__proto__)  //是 null

 6.数组原型链

 <script>
        // 数组的原型链!
        var arr = new Array()
    // 他就是一个构造函数 有Prototype属性  原型对象就是 Array 
        console.log(arr) // Prototype : Array( 0 )

        console.log(arr.__proto__.constructor) // ƒ Array() { [native code] }

    //构造出来的实例化对象的 原型对象 等于 构造函数的 原型对象
        console.log(arr.__proto__ == Array.prototype)  //true 

    // 实例化对象的 原型对象的原型对象的原型对象是Object
        console.log(arr.__proto__.__proto__.constructor)  //ƒ Object() { [native code] }

    // 实例化对象的       原型对象的 原型对象的 原型对象 是 null  (万物皆空!)
        console.log(arr.__proto__.__proto__.__proto__) //是 null

7.对象原型链

 // 构造函数
        function Person(name,age){
            this.name = name;
            this.age = age;
        }
        // 原型对象
        Person.prototype.eat = function(){
            console.log("我要吃红烧肉")
        }
        // 实例对象
        var p1 = new Person("jack",18)
        // 检查p1原型
        console.log( p1.__proto__.constructor )//Person
        console.log( p1.__proto__ === Person.prototype )//true

        // 检查p1原型的原型
        console.log( p1.__proto__.__proto__ )//Object
        console.log( p1.__proto__.__proto__ == Object.prototype )//true

        // 检查p1原型的原型的原型
        console.log( p1.__proto__.__proto__.__proto__ )
        // console.log( p1.__proto__.__proto__ == Object.prototype )//true

 

总结

万物皆对象,原型链万物皆空

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值