原型继承可以说是Javascript提供的真正的继承方法,也是很多大牛推荐使用的方法,但我使用的最多的却不是这一个继承方法.
原型继承是如何实现的,我们一起来看看下面的例子:
01.<html xmlns="http://www.w3.org/1999/xhtml">
02.<head>
03.<title></title>
04.<script type="text/javascript">
05.function dw(s) {
06.document.write(s + "<br />");
07.}
08.//警察
09.function PoliceMan() {
10.var m_lifeEnergy = 100;
11.this.getLifeEnergy = function () {
12.return m_lifeEnergy;
13.}
14.this.Shot = function () {
15.m_lifeEnergy -= 1;
16.}
17.this.Repair = function() {
18.m_lifeEnergy += 1;
19.}
20.}
21.//超级警察
22.function SuperPoliceMan() {
23.this.Flight = function() {
24.
25.}
26.}
27.
28.SuperPoliceMan.prototype = new PoliceMan();
29.
30.
31.//创建一个超级警察
32.var pm = new SuperPoliceMan();
33.//显示当前生命值
34.dw(pm.getLifeEnergy());
35.//中枪生命值减1
36.pm.Shot();
37.//显示当前生命值
38.dw(pm.getLifeEnergy());
39.//飞离地面
40.pm.Flight();
41.//自我修复
42.pm.Repair();
43.//显示当前生命值
44.dw(pm.getLifeEnergy());
45.</script>
46.</head>
47.<body>
48.
49.</body>
50.</html>
分享到:
相关推荐
3. **原型链**:JavaScript的对象继承是基于原型的,每个对象都有一个`__proto__`属性,指向其构造函数的原型对象。这形成了原型链,使得对象可以访问其构造函数原型上的属性和方法。 4. **闭包与作用域**:...
3. 构造函数与原型:JavaScript提供构造函数(如Object、Array等)来创建特定类型的对象,并通过原型链实现对象之间的继承。 4. 原始包装类型:JavaScript有三种原始包装类型(Boolean、Number、String),它们提供...
组合继承是JavaScript中最常用的继承模式,结合了构造函数和原型继承的优点。 ```javascript function SuperPerson(name) { this.name = name; } SuperPerson.prototype.greet = function() { console.log('我是...
在JavaScript中,通过原型链实现继承,子对象的原型对象指向父对象,这样子对象就可以访问父对象的方法和属性。 多态是指同一个操作作用于不同的对象,可以有不同的解释和不同的执行结果。在JavaScript中,多态可以...
JavaScript中的对象是一种非常灵活和强大的数据类型,它不仅可以拥有自己的属性,还可以继承自其他对象的属性,这种机制被称为原型继承。接下来,我们将详细介绍JavaScript对象的定义、创建方式、原型继承机制以及...
JavaScript还支持原型链,使得对象可以继承其他对象的属性和方法,从而实现面向对象的继承特性。此外,JavaScript的动态性使得对象的属性可以在运行时添加或删除,提供了很高的灵活性。 JavaScript的封装和多态性...
以上就是JavaScript面向对象编程的基本概念和实践,包括对象定义、属性添加、原型链、`this`关键字以及继承。通过深入理解和熟练运用这些知识,开发者可以编写出更加复杂、可维护的JavaScript应用。
尽管JavaScript不是一种纯粹的面向对象语言,但它支持面向对象编程的关键概念,如原型链和构造函数。 ##### 2.1 内部对象 JavaScript提供了丰富的内部对象,如`Array`、`Boolean`、`Date`、`Function`、`Math`、`...
JavaScript对象除了可以保持自有的属性外,还可以从一个称为原型的对象继承属性。对象的方法通常是继承的属性。这种“原型式集成”是JavaScript的的核心特征。 1.创建对象 第一种:对象直接量表示法创建对象。 这...
- 在JavaScript中,对象可以通过原型链继承属性和方法。每个对象都有一个`__proto__`属性,指向创建该对象的构造函数的原型。通过原型链,可以访问对象的父级对象的属性。例如: ```javascript function Animal()...
### JavaScript中的对象与继承 #### 一、JavaScript对象的基础概念 在JavaScript中,对象是一种非常重要的数据类型,它能够存储键值对的形式来表示复杂的结构数据。这些键通常被称为属性名,而对应的值则称为属性...
JavaScript的原型继承是通过`__proto__`属性实现的,虽然在标准中不推荐直接使用这个非标准属性,但在Firefox中可以访问。在其他浏览器中,通常使用`Object.getPrototypeOf`或`__proto__`的ES6语法`Object.prototype...
总结,JavaScript的面向对象编程主要涉及到构造函数、属性、方法、this关键字、原型链以及封装和继承等概念。理解这些基础是编写高效、可维护的JavaScript代码的关键。在实践中,开发者还需要考虑作用域、闭包、异步...
8. **原型链(Prototype Chain)**:当试图访问一个对象的属性时,JavaScript会首先在该对象自身查找,如果没有找到,则会沿着`__proto__`链向上搜索,直到找到该属性或到达原型链的顶端(即`null`)。 9. **方法...
首先,实例继承法是针对核心对象的继承,如JavaScript内置的Error对象。在某些特定场景下,我们可能需要自定义错误类型,这时可以使用实例继承。例如,创建一个`ExtendingError`函数,通过new Error()生成实例,并...
JavaScript的原型链机制允许对象通过原型链继承其他对象的属性和方法。每个对象都有一个指向其原型对象的内部链接。当试图访问一个对象的属性时,如果该属性不存在于当前对象,JavaScript引擎会沿着原型链向上查找,...
原型继承法通过设置子类的原型指向父类实例来实现继承,可以实现多重继承,并且父类的原型方法和属性都能被子类继承。使用这种方法时,子类实例可以通过instanceof来验证属于父类类型。 示例代码: ```javascript ...