web前端:理解js原型链

2022-12-31 09:23:24来源:网络转载作者:匿名 阅读量:84 字体:大 中 小

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;

web前端:理解js原型链

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、在这里我给大家画了一张图,便于大家理解原型链。

特别提示

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

推荐阅读

  • CF穿越火线怎么解封180_30天申诉教程

    CF穿越火线怎么解封180_30天申诉教程

    01、封号的原因有很多,我们要知道自己被封号的原因然后才好申诉,原因有很多,比如我们在玩游戏的时候发现了游戏的BUG,不但没有举报反而是自己也使用了这个BUG,如果被系统发现的话就会被封号的。02、还...

    阅读: 984

  • 页游私服介绍

    页游私服介绍

    01、近段时间在网络中流行玩页游私服,页游私服提供了更多的奖励,让玩家玩得更加过瘾,升级更块、经验更高、攻击更变态,各种的属性都比传统的页游要高上很多。 我就拿贪玩蓝月给大家举个例子吧02、首先进入到...

    阅读: 966

  • 为什么中国做不出像旅行青蛙这样的游戏

    为什么中国做不出像旅行青蛙这样的游戏

    01、旅行青蛙的主要玩法是什么,总体来说是一款很轻松的游戏,玩家长时间都在挂机,并不用消耗过多的时间来玩游戏,而且很贴近人们的生活。 02、旅行青蛙火热的原因是因为游戏的设定,很多女性都爱玩,就像是...

    阅读: 911

  • dnf被制裁怎么缩短时间

    dnf被制裁怎么缩短时间

    01、首先手机关注微信公众号“腾讯游戏安全游戏中心” 02、进入左下角的绑定管理。 03、将自己被制裁的号加入绑定然后回到公众号选择自助服务。 04、然后选择处罚查询,就可以看到自己的制裁情况,...

    阅读: 834

  • 罪恶都市怎么游泳秘籍

    罪恶都市怎么游泳秘籍

    电脑01、打开桌面上侠盗飞车罪恶都市客户端 02、登录游戏后,输入秘籍:LOADS OF LITTLE THINGS(两遍) 03、然后再输入秘籍:GET THE REFAST ,得到一辆汽车 ...

    阅读: 1001

  • 小米电视怎么看电视直播

    小米电视怎么看电视直播

    01、在搜狗搜索中搜索影视快搜tv版下载。 02、下载之后,将U盘插入电脑主机,将影视快搜的安装包拷贝下来。 03、把U盘插到小米电视的USB接口上,随后电视跳出一个页面,点击应用。 04、点击...

    阅读: 1048

  • u盘格式化后的文件能找回吗

    u盘格式化后的文件能找回吗

    电脑,U盘 01、首先要说明的一点是u盘里面的格式化了的文件,只要没有被新文件覆盖,都是可以找回来的。 02、找回的步骤第一步就是,把u盘插到电脑上面,等待电脑识别u盘,识别后进行下一步 03、...

    阅读: 842

  • Excel表格里垂直滚动条怎么调长?

    Excel表格里垂直滚动条怎么调长?

    使用软件:excel01、在桌面上双击excel的快捷图标,打开excel这款软件,进入到excel的操作界面如图所示: 02、打开excel之后按下Ctrl+O键在弹出的对话框内我们找到表格文件,...

    阅读: 850

  • Word2013中打印快捷键一览表设置

    Word2013中打印快捷键一览表设置

    电脑一部、word 2013 01、1.在电脑桌面上找到Word2013 ,并点击鼠标右键,然后鼠标左键点击“打开”。 02、2.打开了Word2013 ,就会出现如下界面,然后选择“空白...

    阅读: 818

  • 怎样修改iTunes备份目录路径释放C盘空间

    怎样修改iTunes备份目录路径释放C盘空间

    电脑01、首先需要删除你的原始备份文件夹,在C盘依次打开C:UsersLS(每人不一样,为你的用户名)AppDataRoamingApple Computer,然后删除MobileSync文件夹 0...

    阅读: 785

热门文章