JS-访问原型对象

文章通过一个HTML文档展示了如何在JavaScript中创建类并实例化对象,探讨了原型链的概念,包括对象自身的属性、原型对象的访问方式以及原型链的层次结构。同时,提到了作用域链与原型链的区别,前者用于查找变量,后者用于查找属性。
摘要由CSDN通过智能技术生成

记录自己所学的知识

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<body>

    <script>

       class Xsen{

             name='ABC'

             age=18

             fangfa(){

                console.log(`hi~我是:${this.name},今年${this.age}岁`)

             }

       }

       const Ama=new Xsen()

       //对象存储属性区域=对象自身+原型对象

       /*  关于访问原型对象数据

           1.访问对象中的属性时,优先访问它自身属性

           2.自身属性里面没有,去原型对象中找

       */

       //访问原型对象 ---> 对象.__protp__

       //Object.getPrototypeOf(X) 安全

       /*原型对象中的数据有两部分

            1.对象中的数据(属性,方法等)

            2.constractor (对象构造函数)    

            */

       

       console.log(Object.getPrototypeOf(Ama) === Ama.__proto__) //访问原型对象两种方法相等

       console.log(Ama.__proto__.__proto__.__proto__)

       /*原型对象也有原型,构成链,根据复杂度不同,原型链的长度不同,我简单的理解就是俄罗斯套娃,但是套到最后是一定是空null,还没找到你要的娃,返回undefind*/

       

       //在这里Ama的原形链==》 Ama对象-->原型-->原型-->null

       console.log(Ama.fangfa())

       /*

       作用域链与原型链区别

       作用域链:找变量的,找不到报错

       原型链:找属性的,找不到undefind

       */

       


 

    </script>

</body>

</html>

别忘记复习~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值