码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 原型链初识


    ECMAScript需要通过原型链来实现继承。

    如何构成原型链?

    原型链上属性的增删改查

    Object.creat(原型);

    绝大多数对象的最终都会继承自Object.prototype

    原型链

    每一个对象都从原型继承属性,直到null结束。

    所有的内置构造函数都有一个继承自Object.prototype的原型,我们可以看下原型链:

    vararr1=newArray(1,2,3);

    //arr1.__proto__-->Array.prototype的原型__proto__-->Object.prototype的原型__proto__

    //-->null; 形成链,到null结束,完美;

    vardate1=newDate();

    //date1.__proto__-->Date.prototype的原型__proto__-->Object.prototype的原型__proto__

    //-->null; 形成链,到null结束,完美;

    这就是传说中的原型链,简单总结下:

    一、构造函数、原型和实例的关系
            a,构造函数都有一个属性prototype,这个属性是一个对象,是Object的实例;
            b,原型对象prototype里有一个constructor属性,该属性指向原型对象所属的构造函数;
            c,实例对象都有一个__proto__属性,该属性指向构造函数的原型对象;
              obj.__proto__===Object.prototype
    二、prototype与_proto_的关系
            a,prototype是构造函数的属性;
            b,__proto__是实例对象的属性;
            c,两者都指向同一个对象;

    原型链作为继承的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。

    每个构造函数都有一个原型对象prototype,原型对象都包含一个指向构造函数的指针constructor,而实例都包含一个指向原型对象的内部指针 [[prototype]]。

    如果让原型对象等于另一个类型的实例,那么原型对象将包含一个指向另一个原型的指针,相应地,另一个原型中也包含着一个指向另一个构造函数的指针。

     

     

    通过实现原型链,本质上扩展了原型搜索机制,当以读取模式访问一个实例属性时,首先会在实例中搜索该属性。如果没有找到该属性,则会继续搜索实例的原型。在通过原型链实现继承的情况下,搜索过程就得以沿着原型链继续向上。

     

  • 相关阅读:
    云时代下,医药行业管理居然这么简单
    《数据结构与算法》之二叉树(补充)
    一种基于折射反向学习机制与自适应控制因子的改进樽海鞘群算法 -附代码
    汇编——单字符输入输出+字符串输入输出(换行实现)
    python | 第六章:组合数据类型
    链表 | 两两交换链表中的节点 | leecode刷题笔记
    中国古代数学问题——鸡兔同笼
    Leetcode 451. Sort Characters By Frequency (用堆)
    启动Java应用的黑魔法:初始化性能解密@PostConstrut,InitialzingBean,init-method,BeanPostProcessor
    【Java笔试强训】Day2(OR62 倒置字符串,排序子序列)
  • 原文地址:https://blog.csdn.net/cjx177187/article/details/125456699
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号