`

js中的继承

    博客分类:
  • js
 
阅读更多
	<script type="text/javascript">

	/**
	   js继承:
	                通过原型链prototype来实现继承
	 */
	function Shape() {
		this.name = "shape";
		this.toString = function() {
			return this.name;
		}
	}

	function TwoDShape() {
		this.name = "2D shape";
	}

	function Triangle(side, height) {
		this.name = 'Triangle';
		this.side = side;
		this.height = height;
		this.getArea = function() {
			return this.side * this.height / 2;
		};
	}
	
	//继承
	TwoDShape.prototype = new Shape();
	Triangle.prototype = new TwoDShape();

     /*
                   这个可不写,如果不写则如: var my = new Triangle(5, 10); my.constructor则为	
       function Shape() {
		this.name = "shape";
		this.toString = function() {
			return this.name;
		}
	  }
	  
	  指定之后就为指定的
	   TwoDShape.prototype.constructor = TwoDShape;  
	   Triangle.prototype.constructor = Triangle;  
     */
   
   /**
             测试继承
   */
	function test() {
	  var my = new Triangle(5, 10);  
	  alert(my.toString()); 

	/**
		  虽然my对象并没有toString的方法,但是它继承了Shape.就可以调用toString的方法了。
		让我们看看javascript引擎是怎样工作的.

		首先先循环my对象的属性,发现没有toString的方法。
		通过_proto_的链接找到对象,也就是TwoDShape()创建的对象。
		接下来又开始循环TwoDShape的实例,发现也没有toString的方法。然后又会检查_proto_指向的对象。也就是Shape创造的对象。
		终于在Shape的实例中,找到了toString方法。
		最终toString方法在my的上下文中被调用。意思就是this指向了my对象。
		  
	  */
		//alert(my.constructor);
	}
</script>
	
  </head>
  
  
  <body>
    This is my JSP page. <br>
    <input type="button" onclick="test()" value="test">
    
        测试div与span的区别:div是块元素 也就是会换行  而是span是行元素不会换行,但是可以通过样式display来改变
        <span style="display:block">我是行内元素</span>测试行内元素<div style="display:inline">块元素</div>我是快元素  
  </body>
分享到:
评论

相关推荐

    JavaScript中继承原理与用法实例入门

    JavaScript中的继承是面向对象编程的重要概念,它允许一个对象(子对象)继承另一个对象(父对象)的属性和方法。在JavaScript中,由于其动态类型和基于原型的特性,实现继承的方式比传统的面向对象语言更为灵活,但...

    JavaScript 继承详解(六)

    在本章中,我们将分析Prototypejs中关于JavaScript继承的实现。 Prototypejs是最早的JavaScript类库,可以说是JavaScript类库的鼻祖。 我在几年前接触的第一个JavaScript类库就是这位,因此Prototypejs有着广泛的...

    jQuery.js中继承的实现.pdf

    在JavaScript中,实现继承通常需要开发者自定义方法。jQuery.js库提供了一种优雅的解决方案,通过`jQuery.extend()`方法实现了对象的继承功能。这个方法在jQuery中扮演着至关重要的角色,它不仅用于合并对象,还用于...

    JavaScript中继承用法实例分析

    在给定的文件内容中,我们看到一个具体的JavaScript继承的例子,主要分为以下几个步骤: 1. 定义父类`Person`,这个类有一个原型方法`walk`和`sayHello`,它们分别用于定义行走和打招呼的行为。 ```javascript ...

    js中继承的几种用法总结(apply,call,prototype)

    在JavaScript中,实现对象继承主要有三种方式:原型链继承(prototype)、构造函数继承和call/apply继承。下面将分别详细介绍这三种继承方式的具体用法和实现原理。 1. 原型链继承(prototype) 原型链继承是...

    javascript 原生态js类继承实现的方式

    几乎每个开发人员都有面向对象语言(比如C++、C#、Java)的开发经验。...但是在JavaScript的世界中,所有的这一切特性似乎都不存在。 因为JavaScript本身不是面向对象的语言,而是基于对象的语言。

    javascript中类和继承(代码示例+prototype.js)

    本文将深入探讨JavaScript中的类和继承,并结合`prototype.js`文件中的示例进行解析。 ### 类的概念与模拟 在JavaScript中,我们通常使用函数来模拟类的行为。一个函数可以看作是一个类的定义,通过`new`关键字来...

    javascript中如何实现封装,继承和多态

    javascript中如何实现封装,继承和多态

    js继承.doc

    在JS中,对象可以直接通过原型链实现继承,而无需像Java那样使用`extends`关键字。本文档将探讨JavaScript中的继承实现方式及其优缺点。 首先,我们需要理解JS中的对象与类的区别。在JS中,对象可以直接通过字面量...

    JS封装和继承-入门级

    5. **寄生组合式继承**:结合了寄生式继承和组合继承的优点,是JavaScript中推荐的继承方式,可以在`Javascript面向对象编程(三):非构造函数的继承.docx`中找到更详细的解释。 例如,使用寄生组合式继承: ```...

    js继承的用法

    根据提供的文件信息,我们可以分析并总结出关于JavaScript继承的一些关键知识点。尽管提供的代码示例主要关注于使用jQuery插件初始化一个表格(grid),但这里我们将重点放在如何在JavaScript中实现继承这一主题上。...

    JavaScript继承

    JavaScript中的继承是一个核心概念,它在面向对象编程中扮演着至关重要的角色。与其他面向对象语言相比,JavaScript的继承机制更为复杂。在Java或C++等语言中,继承通常只需要一个关键字,如`extends`,但在...

    js javascript zInherit 对象 继承

    使用`zInherit`这种方式进行对象继承的好处在于,它可以保持对象的实例属性,避免了构造函数继承中的属性复制问题。同时,由于直接操作原型,它能够有效地利用原型链实现属性的查找和继承。 然而,`zInherit`也存在...

    js定义类 对象 构造函数,类的继承

    在提供的`ClassDefineAndExtends.js`文件中,可能包含了关于类定义和继承的示例代码。通过分析这个文件,我们可以看到实际应用中的类定义和继承实践,包括如何定义类,如何使用构造函数初始化对象,以及如何通过`...

    JavaScript学习之三 — JavaScript实现继承的7种方式

    在JavaScript中,面向对象编程是实现复杂功能和代码复用的关键。继承是面向对象的核心特性之一,它...文章中的`inheritance.html`和`inheritance.js`文件可能包含示例代码,帮助你直观地了解每种继承方式的实现和使用。

    JS继承的实现方式

    ### JS继承的实现方式 JavaScript作为一种灵活且功能强大的编程语言,支持多种继承模式。下面将详细介绍几种常见的继承实现方式,并探讨它们的特点与应用场景。 #### 一、原型链继承 **核心思想**: 将父类的实例...

    JavaScript实现继承的几种方式

    寄生组合继承解决了组合继承中父类构造函数会被调用两次的问题,通过创建父类的一个不被使用的实例,然后将子类的原型指向这个实例的原型。 ```javascript function inheritPrototype(subType, superType) { let ...

    JavaScript中的类继承

    JavaScript中的类继承是一种模拟传统面向对象编程中类概念的方式,因为JavaScript本身是一种基于原型的面向对象语言。在JavaScript中,对象可以直接从其他对象继承属性和方法,而不是通过类的实例化。这种继承机制...

Global site tag (gtag.js) - Google Analytics