ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JS中什么是原型,什么是原型链?

2021-05-20 19:01:24  阅读:133  来源: 互联网

标签:__ console proto 什么 JS Person 原型 prototype


什么是原型,什么是原型链?

什么是原型?

首先秉承JS万物皆对象的思想,每一个函数即是一个对象,每一个对象都有一个prototype属性,而该对象的prototype属性的指向就是这个对象的原型。

综上所述,我们来举个例子:

function Person(name){
this.name = name
}

console.log(Person.prototype) //这是原型

什么是原型链?

每一个函数的实例化对象都有一个__proto__属性,实例化对象的__proto__属性的指向也是原型,每一个__proto__下都有一个constructor跟__proto__属性,constructor指向该函数,而__proto__依次延伸,当函数继承时,会先在函数的prototype属性中找,找不到时,再继续在函数的实例化对象中的__proto__下找,依次类推,形成原型链。

结合以上代码:
let p = new Person(“奥特曼”);

console.log(p.proto) //这是原型

console.log(p.proto == Person.prototype) //返回true

console.log(p.proto.constructor == Person) //返回true

初学JS,个人理解,如果有不足之处,欢迎大佬指出。

标签:__,console,proto,什么,JS,Person,原型,prototype
来源: https://blog.csdn.net/iBader/article/details/117088233

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有