JavaScript中几种继承方法,如原型链、构造函数、组合式继承等,如何实现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1502个文字,预计阅读时间需要7分钟。
1. 原型链继承+原理:子类原型指向父类实例实现原型共享,即Son.prototype=new Father().这里先简单介绍下原型+原理:在js中,每个对象都有一个__proto__属性,指向它的原型,也就是它的构造函数的prototype属性。
1.原型链继承
原理:子类原型指向父类实例对象实现原型共享,即Son.prototype = new Father()。
这里先简单介绍下原型
js中每个对象都有一个__proto__属性,这个属性指向的就是该对象的原型。js中每个函数都有一个prototype属性,这个属性指向该函数作为构造函数调用时创建的实例的原型。原型对象上有一个constructor属性,指向创建该对象的构造函数,该属性不可枚举。
var obj = {}; obj.__proto__ === Object.prototype; //true console.log(Object.prototype.constructor) // ƒ Object
当我们访问一个对象的属性或者方法时,如果找不到,则会通过原型向上寻找,若原型上也未找到,则会去原型的原型上面去找。
本文共计1502个文字,预计阅读时间需要7分钟。
1. 原型链继承+原理:子类原型指向父类实例实现原型共享,即Son.prototype=new Father().这里先简单介绍下原型+原理:在js中,每个对象都有一个__proto__属性,指向它的原型,也就是它的构造函数的prototype属性。
1.原型链继承
原理:子类原型指向父类实例对象实现原型共享,即Son.prototype = new Father()。
这里先简单介绍下原型
js中每个对象都有一个__proto__属性,这个属性指向的就是该对象的原型。js中每个函数都有一个prototype属性,这个属性指向该函数作为构造函数调用时创建的实例的原型。原型对象上有一个constructor属性,指向创建该对象的构造函数,该属性不可枚举。
var obj = {}; obj.__proto__ === Object.prototype; //true console.log(Object.prototype.constructor) // ƒ Object
当我们访问一个对象的属性或者方法时,如果找不到,则会通过原型向上寻找,若原型上也未找到,则会去原型的原型上面去找。

