快速理解JS中的原型和原型链
在我们学习JS的过程中,我们总会接触到一些词:“原型”,“原型链”。那么今天我就来带大家来学习学习原型和原型链的知识吧!
在开始之前,我们明确一下我们接下来想要学习的目标:
- 什么是原型?
- 什么是原型链?
- 原型和原型链之间有什么关系?
- 原型和原型链有什么作用?
原型
什么是原型呢?每个构造函数创建的对象都会在创建的时候自带(创建)一个 prototype
属性,这个属性是一个对象,这个对象就是我们要说的原型。是不是有点绕?来看下面这个例子:
function Person(){
}
Person.prototype.name="zhangsan"
Person.prototype.sayName=function(){
console.log("lisi")
}
const p1 = new Person()
console.log(p1.name)//zhangsan
console.log(p1.__proto__)// {name:"zhnagsan"}
console.log(p1.constructor)// [Function: Person]
console.log(Person.prototype