百科查询网经验知识百科全书!
首页 >游戏数码 >IT技术 > web前端:理解js原型链

web前端:理解js原型链

0次浏览 | 2022-10-25 05:41:29 更新
来源 :互联网
最佳回答
本文由作者推荐

工具/材料

javascript

详细内容

  • 01

    学习原型链之前我们先认识一下构造函数,代码如下:

    function S() {
    this.name = 'xxx';
    this.say = function() { console.log(this.name) }
    }
    var s1 = new S();

    其中,s1是S的实例,s1的__proto__(大家先不用管__proto__属性,后续会讲到)中有一个constructor(构造函数)属性,该属性指向S。
    在这里,大家可以记住两点:
    1.s1是构造函数S的实例;
    2.s1.__proto__.constructor===S 也可以写成 s1.constructor===S;

  • 02

    接下来我们来看下一段代码:

    function S2() {}
    S2.prototype.name = 'XXX';
    S2.prototype.say = function() {
    console.log(this.name);
    }

    var s2 = new S2();
    var s3 = new S2();
    console.log(s2.sayName === s3.sayName);//true
    console.log(s2.__proto__===S2.prototype);//true

    这一段代码中我们可以看到一个新属性——prototype,这是什么呢,其实这就是构造函数S2的原型对象,每个对象都有__proto__属性,但是只有函数对象才有prototype属性。而s2是构造函数S2的实例,而s2.__proto__指向的就是S2的原型对象,即s2.__proto__===S2.prototype。得到一个结论,实例的__proto__属性指向的就是其构造函数的原型对象。

  • 03

    继续上一步的代码,我们添加代码继续调试:

    console.log(s2.__proto__);//返回S2的原型对象
    console.log(S2.prototype);//返回S2的原型对象

    console.log(s2.__proto__.__proto__);//返回Object对象
    console.log(S2.prototype.__proto__);//返回Object对象

    console.log(s2.__proto__.__proto__.__proto__);//返回null
    console.log(S2.prototype.__proto__.__proto__);//返回null

    其实,S2的原型对象上还有原型对象,因为S2的原型对象也相当于只是Object对象的一个实例。

  • 04

    在这里我给大家画了一张图,便于大家理解原型链。

特别提示

码子不易,小编如有说得不对的地方,望大家指点包含,谢谢

以《射雕三部曲》为背景的手游有哪些?
以《射雕三部曲》为背景的手游有以下几款:《射雕》:由网易研发,是一款金庸正版授权的开放世界手游。游戏以《射雕英雄传》《神...
《射雕三部曲》金庸的版权何时到期?
根据《中华人民共和国著作权法》规定,金庸先生作为《射雕三部曲》的作者,其署名权、修改权、保护作品完整权的保护期不受限制。...
0day漏洞,如何应对?
要应对0day漏洞(指未被厂商发现、未公开披露、无官方补丁的软件/硬件安全漏洞,黑客可利用其发起“零日攻击”),核心思路...
怎么看中国小孩夺电竞世界杯街霸6冠军
中国选手“小孩”曾卓君在2025年电竞世界杯(EWC)《街头霸王6》项目中成功卫冕冠军,这一事件不仅是中国格斗游戏的里程...
window10如何关闭来宾帐户?
在Windows10中,关闭来宾帐户有以下几种方法:通过控制面板关闭:按下“Win+R”键,输入“control”,然后...
推荐一些类似《凡人修仙传》的修仙题材电视剧
《凡人修仙传》属于男频修仙剧,以主角从底层逆袭的修仙历程为主要看点,以下是一些类似的修仙题材电视剧推荐:《大奉打更人》:...
《凡人修仙传》真人版电视剧好看吗?
《凡人修仙传》真人版电视剧的口碑呈现两极分化的态势,好不好看因人而异。一些观众认为该剧有很多亮点:剧情节奏紧凑:在首播的...
中美AI实力对比
美国和中国在人工智能(AI)领域的实力对比是一个复杂且动态变化的话题。以下是一些关键点:1.技术基础美国:美国在人工智能...
《问剑长生》的游戏背景是什么?
《问剑长生》的游戏背景设定在一个充满奇幻色彩的修仙世界。玩家将扮演一位志在修行的证道者,身处一方荒败的世界。一次偶然的机...
《问剑长生》好玩吗?
《问剑长生》是一款有亮点但也存在一些不足的游戏,好不好玩因人而异。以下是对其可玩性的具体分析:优点画面表现出色:游戏采用...
关于我们 | 版权声明 | 免责声明 | 联系我们
免责声明:百科查询网所有文字、图片、视频、音频等资料均来自互联网,不代表本站赞同其观点,内容仅代表作者本人意见,若因此产生任何纠纷作者本人负责,本站亦不为其版权负责! 如有问题,请联系我们
CopyRight©1999-2022 www.chaxunla.com All Right Reserved 闽ICP备16000424号