【Infragistics教程】在javascript构造函数中创建基本继承
【下载Infragistics Ultimate最新版本】
用javascript创建对象有四种方法。具体如下:
对象作为文本
构造函数调用模式
创建()方法
在ES6之后使用类
继承的实现因对象创建方法而异。本文将解释如何在函数构造函数之间创建继承。
假设您有一个函数:
如果使用new操作符调用animal函数,将创建一个对象。这种对象创建方式也称为“构造函数调用模式”。
对象dog和cat都有自己的名称和年龄属性。如果希望在所有对象之间共享属性或方法,请将其添加到函数原型中。
使用javascript原型链,dog和cat对象都可以访问canrun方法。
接下来,让我们创建另一个构造函数——人:
此时,人与动物的功能没有任何关系。然而,我们知道人也是动物。人工构造有两个问题。
它有重复的名称和年龄初始化代码。为此,应使用动物建造师。
它与动物建造师没有任何联系
上述两个问题可以通过在动物和人类功能构建者之间创建继承来消除。
您可以通过如下修改人工函数来解决代码复制的问题1:
现在,在人类函数中,我们使用call方法手动传递当前对象作为动物函数中“this”的值。这种方法也称为间接调用模式。现在,可以创建一个人类对象实例,如下所示:
到目前为止,我们已经解决了代码复制的第一个问题,但是人类的功能仍然与动物的功能无关。如果您尝试对h1对象调用canrun方法,javascript将向您抛出一个错误。
您可以通过将人类功能原型与动物功能构造函数原型链接来解决这个问题。有两种方法可以做到这一点。
使用γ原型
使用object.create()方法
您可以使用object.create()链接函数构造函数的原型,如下所示:
您可以使用_uu proto_uuu链接函数构造函数的原型,如下所示:
更推荐object.create()方法,因为在许多浏览器中可能不支持_uuProto。在链接原型之后,在一种方式下,您已经在动物和人类函数构造函数之间创建了继承。人的对象实例可以读取动物功能的所有属性,并且可以执行动物功能方法。
下面列出了实现函数构造函数之间继承的完整源代码,供您参考:
要在函数构造函数之间创建继承,请始终执行以下两个操作:
使用call或apply调用父构造函数。
将子构造函数原型链接到父构造函数原型
- Javascript继承2:创建即继承----构造函数继承
- JavaScript 中实现继承的方式(列举3种在前一章,我们曾经讲解过创建类的最好方式是用构造函数定义属性,用原型定义方法。)
- JavaScript2种构造函数创建对象的模式以及继承的实现
- JavaScript2种构造函数创建对象的模式以及继承的实现
- javascript中用构造函数创建对象以及基类与子类间的继承
- JavaScript构造函数+原型创建对象,原型链+借用构造函数模式继承父类练习
- 从零开始学_JavaScript_系列(64)——class的继承(1)基本概念、继承构造函数和class
- scala入门教程:scala中的面向对象定义类,构造函数,继承
- javascript中的继承-借用构造函数
- JavaScript强化教程 —— 对象创建模式
- javascript 创建对象——类,继承
- Scrapy定向爬虫教程(一)——创建运行项目和基本介绍
- JavaScript 匿名函数、模块模式、闭包、命名空间、创建构造器(类)、继承
- JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
- JavaScript中创建对象和继承示例解读
- JavaScript对象及继承教程
- Javascript面向对象编程(二):构造函数的继承
- javascript创建对象之寄生构造函数模式(六)
- Javascript面向对象编程(三):非构造函数的继承
- javascript基础(this,工厂方法来创建对象,构造函数创建对象)(十六)