在前面学习的是js的面向对象中数据的封装。类方法和原型方法的一些区别,所以现在是面向对象的继承的几种方法:
有一个动物对象的构造函数
function Animal() { this.species = "动物"; }
有一个猫对象的构造函数
function Cat(name,color) { this.name = name; this.color = color; }
如何使猫继承动物呢
一:构造函数的绑定
使用call或者apply方法,将对象的构造函数绑定在子对象上,即在子对象的构造函数中加一行
function Cat(name,color) { Animal.apply(this, arguments); this.name = name; this.color = color; } var cat1 = new Cat("大毛","黄色"); alert(cat1.species); // 动物
使用prototype属性,如果猫的prototype对象,指向一个Animal的实例,那么所有猫的实例就能继承Animal了。
Cat.prototype = new Animal(); Cat.prototype.constructor = Cat; var cat1 = new Cat("大毛","黄色"); alert(cat1.species); // 动物
下面是解释
//这一行是讲Cat的prototype对象指向Animal的一个实例,相当于将新值覆盖了了原来的值 Cat.prototype = new Animal();
任何一个prototype对象都有一个constructor属性,指向他的构造函数。如果没有“Cat.prototype = new Animal();”Cat.prototype.constructor是指向Cat 的,加了之后指向Animal
Cat.prototype.constructor = cat;
更重要的是,没一个实例都有一个constructor属性,默认调用prototype对象的constructor属性
因此在运行
Cat.prototype = new Animal()
之后,cat1.constructor也指向Animall。
三、直接继承prototype
这是第二种方法的改进,因为Animal对象中,不变的属性可以直接写入Animal。prototype中,所以我们可以直接继承Animal.prototype.
首先,将Animal改写为
function Animal(){}; Animal.prototype.species = '动物';
然后将Cat的prototype对象指向Animal的prototype,这样就完成了继承
Cat.prototype = Animal.prototype ; Cat.prototype.xonstructor = Cat ; var cat1 = new Cat('damao','haunse'); alert(cat1.species);
这种方法效率较高,比较省内存,但是Cat.prototype和Animal.prototype同时指向了同一对象,那么任何对Cat.prototype的修改都会反映到Animale.prototype。
相关推荐
总而言之,学习现代JavaScript面向对象编程,有助于开发者在认识这门语言演化的基础上,运用面向对象的设计和编程模式来构建更加健壮和可维护的JavaScript应用程序。同时,测试和调试是保证代码质量不可或缺的环节,...
### JavaScript面向对象精要 #### 一、概述 《JavaScript面向对象精要》是一本深入讲解JavaScript面向对象编程原理的专业书籍。本书由知名的前端开发者Nicholas C. Zakas撰写,全面介绍了JavaScript作为一种动态...
根据提供的文件信息,我们将重点放在面向对象编程(OOP)在JavaScript中的应用上。JavaScript作为一种广泛使用的脚本...通过与经验丰富的开发者交流,可以更快地掌握面向对象编程的核心思想,并将其应用于实际项目中。
在深入讲解JavaScript面向对象与原型的知识点之前,首先需要了解JavaScript的基础知识。在JavaScript中,面向对象编程(OOP)的概念虽然存在,但是它的实现与传统基于类的语言有所不同。ECMAScript,也就是...
面向对象JavaScript是一种编程范式,它将JavaScript脚本编写转换为面向对象的思想。面向对象的JavaScript开发可以极大地提高开发效率和代码健壮性。 面向对象的JavaScript的特征包括: * 继承:允许子类继承父类的...
JavaScript面向对象实现简单工厂模式是一种常见的设计模式,它在软件工程中被广泛应用于创建对象的场景。简单工厂模式的核心思想是将对象的创建过程抽象出来,由一个专门的工厂类负责,使得客户端代码无需关心具体...
本篇文章将深入探讨JavaScript面向对象的基础知识。 1. **面向对象的概念** 面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它基于“对象”概念,将数据和操作数据的方法封装在一起。在...
这本书对javascript的一些核心技术,面向对象思想讲的很到位,分析的很容易理解,适合初学者以及想深入学习javascript OO的人
JavaScript是一种广泛应用于Web开发的脚本语言,尤其在构建交互式网页和动态应用程序时不可或缺。...通过阅读和实践教程中的内容,你将能够熟练运用面向对象编程思想来解决实际问题,提升你的Web开发能力。
**JS面向对象汇总PDF**是针对JavaScript编程语言中面向对象编程概念的一个综合性的学习资料,主要探讨了JavaScript如何实现面向对象编程(OOP)的设计原则和模式。在JavaScript中,面向对象编程是一种重要的编程范式...
JavaScript面向对象编程是Web程序开发中的一个重要概念,它允许开发者使用对象来构建复杂的软件应用。本章节将详细介绍JavaScript面向对象编程的关键知识点,包括对象的概述、创建方式、JSON的概念以及课堂作业指导...
首先,要讨论javascript中的面向对象编程,必须先理解什么是“类”。...随着Ajax等技术的广泛应用,JavaScript面向对象的特性变得越来越重要,这促使***ript开发者必须更加深入地了解并应用这些面向对象的概念。
面向对象编程是JavaScript的重要组成部分,掌握面向对象的思想和技巧,对于提高代码质量、实现功能模块化、优化代码结构都具有重要意义。通过继承、封装和多态等面向对象的概念,可以编写出更加灵活、可维护和可扩展...
这个"球员信息管理demo"是一个很好的学习资源,可以帮助初学者理解如何在PHP中运用面向对象和分层设计原则来构建实际应用。通过分析和实践这个demo,开发者可以提升对PHP OOP的理解,以及如何组织和实现Web应用的...
本文通过对 Java 面向对象程序设计实验课的学习和实践,探索了 Java 的重要性和面向对象编程思想的应用。作者通过实验课的学习,逐步熟悉了 Java 编程思想,掌握了基本技巧,并体悟到面向对象编程思想的重要性。 ...
JavaScript 中支持面向对象的基础教程含代码示例 ...本教程详细介绍了 JavaScript 中支持面向对象的基础知识,包括定义类、使用 new 操作符获得实例、引用对象的属性和方法等,为读者提供了一个系统的学习指南。
【标题】"js写的象棋(面向对象)" 指的是使用JavaScript编程语言实现的中国象棋游戏,它基于面向对象的编程思想进行设计。面向对象编程(Object-Oriented Programming, OOP)是一种软件开发方法,它将数据和操作...