复制继承可以说是Javascript中我使用的最多的继承方法.
复制继承是如何实现的,我们一起来看看下面的例子:
01.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
02.
03.<html xmlns="http://www.w3.org/1999/xhtml">
04.<head>
05.<title></title>
06.<script type="text/javascript">
07.function dw(s) {
08.document.write(s + "<br />");
09.}
10.//一个一个复制父类的属性
11.Function.prototype.extendcopy = function(obj) {
12.for(var each in obj){
13.this.prototype[each] = obj[each];
14.}
15.}
16.
17.//警察
18.function PoliceMan() {
19.var m_lifeEnergy = 100;
20.this.getLifeEnergy = function () {
21.return m_lifeEnergy;
22.}
23.this.Shot = function () {
24.m_lifeEnergy -= 1;
25.}
26.this.Repair = function() {
27.m_lifeEnergy += 1;
28.}
29.}
30.
31.//超级警察
32.function SuperPoliceMan() {
33.this.Flight = function() {
34.
35.}
36.}
37.//复制继承
38.SuperPoliceMan.extendcopy(new PoliceMan());
39.
40.//创建一个超级警察
41.var pm = new SuperPoliceMan();
42.//显示当前生命值
43.dw(pm.getLifeEnergy());
44.//中枪生命值减1
45.pm.Shot();
46.//显示当前生命值
47.dw(pm.getLifeEnergy());
48.//飞离地面
49.pm.Flight();
50.//自我修复
51.pm.Repair();
52.//显示当前生命值
53.dw(pm.getLifeEnergy());
54.</script>
55.</head>
56.<body>
57.
58.</body>
59.</html>
分享到:
相关推荐
本小册"JavaScript对象经典小册 chm"深入探讨了JavaScript中的核心概念——对象和数组,旨在帮助开发者更好地理解和掌握这些基础知识。 一、JavaScript对象 1. 对象概述:JavaScript对象是一种数据结构,它由键值对...
原型式继承使用`Object.create`方法来复制一个对象作为新对象的原型。寄生式继承是在原型式继承的基础上,对新对象进行额外的初始化操作。 **6. 动态原型与鸭子类型** JavaScript中的原型是动态的,可以在运行时...
首先,实例继承法是针对核心对象的继承,如JavaScript内置的Error对象。在某些特定场景下,我们可能需要自定义错误类型,这时可以使用实例继承。例如,创建一个`ExtendingError`函数,通过new Error()生成实例,并...
拷贝继承法通过复制父类对象的所有可枚举属性和方法来实现继承。这种方式可以模拟多重继承,但是不能继承父类中不可枚举的属性和方法。 示例代码: ```javascript function A() { this.num = 123; this.say = ...
总的来说,掌握JavaScript对象的创建、访问和操作是Web前端开发的基本技能,它们帮助开发者构建动态、交互式的网页应用。在实际开发中,还会涉及到对象的原型链、继承、封装等高级特性,这些都是深入理解JavaScript...
4.2 JavaScript对象的生成 4.2.1 HTML文档结构 4.2.2 DOM框架 4.2.3 顶级对象之间的关系 4.2.4 浏览器载入文档时对象的生成 4.3 JavaScript核心对象 4.4 文档对象的引用 4.4.1 通过对象位置访问文档对象 4.4.2 通过...
JavaScript对象是编程中至关重要的部分,它是一种无序的键值对集合,允许你存储和操作数据。在JavaScript中,几乎所有的数据类型都可以被当作对象处理,包括字符串、数字、数组和日期等。对象的属性可以增加、删除,...
4.2 JavaScript对象的生成 4.2.1 HTML文档结构 4.2.2 DOM框架 4.2.3 顶级对象之间的关系 4.2.4 浏览器载入文档时对象的生成 4.3 JavaScript核心对象 4.4 文档对象的引用 4.4.1 通过对象位置访问文档对象 4.4.2 通过...
通过学习本书,读者将能够深入了解如何在JavaScript中实现对象的创建、继承和多态等面向对象的核心概念。 版权信息部分指出,本书的版权归Packt Publishing所有,未经出版方书面许可,禁止复制、存储于检索系统或者...
它包含了最新的ECMAScript 5规范、JSON(JavaScript对象表示法)和DOM(文档对象模型)的详细规范和实现。在本书中,读者不会找到技术术语、冗长的示例、拉长的历史课程或机智的故事,而是会找到一个精确、简洁且...
- **面向对象编程**:介绍JavaScript中的面向对象编程概念,如类、继承、封装等。 - **异步编程**:探讨事件驱动模型、回调函数、Promise和async/await等现代JavaScript异步编程技术。 - **模块化开发**:讲解如何...
- 属性操作(点表示法、方括号表示法、hasOwnProperty) - 原型链(__proto__, prototype, Object.getPrototypeOf) - 原型方法(toString, hasOwnProperty, constructor等) 4. **数组与集合** - 数组方法...
对象.rar"这个压缩包文件显然包含了与JavaScript对象相关的学习资源,对于想要深入理解前端开发的初学者或进阶者都非常有价值。JavaScript对象是语言的基石之一,它们是键值对的集合,可以用来组织和操作数据。 1. ...
JavaScript是一种脚本语言,虽然它在传统的面向对象编程特性上可能不如Java或C++那样完全,但确实提供了面向对象的概念,如对象、继承和多态。以下是对JavaScript创建对象的四种常见方式的详细解释: 1. **使用字面...
JavaScript使用原型继承机制来实现面向对象编程,这与其他基于类的语言(如Java或C#)有所不同。 ### 4. JavaScript的应用场景 - **网页交互:**通过JavaScript可以为网页添加动态效果,比如弹出窗口、下拉菜单等...
- **构造函数配合原型链**:JavaScript使用原型链来实现继承,通过`prototype`属性可以为所有实例共享方法,这是一种更灵活的创建对象的方式。 6. **函数作为对象** 在JavaScript中,函数也是对象,因此可以给...
这里的"继承"并不像传统的面向对象语言那样,而是通过复制(克隆)`B`的属性和方法到`A.prototype`来实现的。 当一个对象的方法和其原型链上的方法同名时,JavaScript会在实例对象自身查找该方法,如果找不到,才会...
- **原型继承**:探讨JavaScript中的原型链机制以及如何实现面向对象编程。 - **异步编程**:介绍回调函数、Promise、async/await等现代JavaScript异步编程技术。 - **模块化开发**:讲解如何通过模块化设计来组织...