JavaScript中实现继承的方法有哪些,各自优缺点是什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3434个文字,预计阅读时间需要14分钟。
《JavaScript高级程序设计》中继承的方法及其优缺点
1. 原型链 ECMAScript中描述了原型链的概念,并把它作为实现继承的主要方法。原型链的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。
原型链继承的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。这种方法的核心是让一个对象的原型指向另一个对象的实例。
优点: - 实现简单,易于理解。
缺点: - 无法继承非函数属性。 - 原型上定义的属性和方法会被所有实例共享,容易造成冲突。 - 子类型无法向父类型传递参数。
整理《javascript高级程序设计》中继承的方法以及优缺点。
1. 原型链
ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法。
原型链继承的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。
简单回顾一下构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。
那么,假如我们让原型对象等于另一个类型的实例,结果会怎么样呢?显然,此时的原型对象将包含一个指向另一个原型的指针,相应地,另一个原型中也包含着一个指向另一个构造函数的指针。假如另一个原型又是另一个类型的实例,那么上述关系依然成立,如此层层递进,就构成了实例与原型的链条。这就是所谓原型链的基本概念。
本文共计3434个文字,预计阅读时间需要14分钟。
《JavaScript高级程序设计》中继承的方法及其优缺点
1. 原型链 ECMAScript中描述了原型链的概念,并把它作为实现继承的主要方法。原型链的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。
原型链继承的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。这种方法的核心是让一个对象的原型指向另一个对象的实例。
优点: - 实现简单,易于理解。
缺点: - 无法继承非函数属性。 - 原型上定义的属性和方法会被所有实例共享,容易造成冲突。 - 子类型无法向父类型传递参数。
整理《javascript高级程序设计》中继承的方法以及优缺点。
1. 原型链
ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法。
原型链继承的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。
简单回顾一下构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。
那么,假如我们让原型对象等于另一个类型的实例,结果会怎么样呢?显然,此时的原型对象将包含一个指向另一个原型的指针,相应地,另一个原型中也包含着一个指向另一个构造函数的指针。假如另一个原型又是另一个类型的实例,那么上述关系依然成立,如此层层递进,就构成了实例与原型的链条。这就是所谓原型链的基本概念。

