原型链、原型对象和构造函数的理解

tech2025-01-19  5

js没有类的概念,通过原型和原型链实现继承。

函数对象可以被实例化(有构造函数),普通函数不能实例化(没有构造函数)。

prototype:原型对象,原型是函数所有,包含(构造函数和原型链) __proto__:原型链,原型链指向它所继承的原型对象,每个对象都有原型链,基类是Object Constructor:构造函数,new出的实例没有构造函数(有构造函数就能被实例化),指向该函数对象。

fun Foo(){...} let f1 = new Foo();

f1.__proto__ === Foo.prototype;

通过new的对象(子类)只有一个原型链,指向父类的原型,父类的原型中有构造方法和原型链,父类的原型链指向Object

function Animal(name,age) { this.name = name this.age = age } let pig = new Animal('peiqi',3) console.log(pig)

原型:通过给原型绑定对象实现继承,

因为所继承对象的原型中包含constructor和原型链。

 

最新回复(0)