`
onedear
  • 浏览: 69150 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

浅谈js的继承

阅读更多
先对js的几个特殊属性与函数做点解释:
caller:每个函数(方法)都有的属性,可知是由谁调用此方法。
call: 每个函数都有的方法,可调用父构造函数(调用一个对象的一个方法,以另一个对象替换当前对象(其实就是更改对象的内部指针,即改变对象的this指向的内容))。
prototype:js对象均有的一个属性,也称原型属性

<html>
<head>
<script type="text/javascript">
	/**
	动物,父类
	*/
	function Animal(name) 
	{
		this.name = name;
		this.sleep = function () 
		{
			alert("name is :" + this.name +" ,\r\n it's a sleep function 。\r\n the caller is:" + this.sleep.caller);
		}
 	}
 	/**
 		子类,老虎
	*/
	function Tiger() 
	{
	    var name = "tiger_onedear";
	    Animal.call(this , name);   //将animal对象作为this指针调用tiger函数,调用父构造函数。换句话说就是tiger继承animal。
	}
	/**
		子类,小鸟
	*/
	function Bird() 
	{
		var name = "bird_onedear";
	}
	Bird.prototype=new Animal("bird_onedear"); //建一个积累的对象作为子类原型的原型(原型继承),个人认为也可以勉强说是bird继承animal
	Bird.prototype.fly= function () {alert("i am fly" );} //对bird对象原型增加一个方法,这样bird与bird的子类都能用上
	
	function testTiger() 
	{
		new Tiger().sleep();  //tiger类定义处并没有sleep方法,但由于继承了animal类,所以子类调用正常
	}
	
	function testBird() 
	{
		new Bird().sleep();
		new Bird().fly();
	}	
</script>
</head>
<body>
<input type="button" onclick="testTiger();" value="TtestTigeriger"/>
<input type="button" onclick="testBird();" value="testBird"/>
</body>
</html>



参考资料:http://log-cd.iteye.com/blog/408477
分享到:
评论
1 楼 xiangxuehai_jiaer 2011-09-25  

相关推荐

    浅谈JS继承_寄生式继承 & 寄生组合式继承

    在JavaScript中,继承是一种关键机制,允许我们创建类层次结构,实现代码的复用和扩展。本文主要探讨两种继承模式:寄生式继承和寄生组合式继承。 首先,寄生式继承是一种不直接修改原对象,而是通过创建其副本并在...

    浅谈js继承的实现及公有、私有、静态方法的书写

    在JavaScript中,继承是面向对象编程的一个核心概念,它允许一个对象(子对象)继承另一个对象(父对象)的属性和方法。本文将深入探讨JavaScript中的继承实现方式以及公有、私有和静态方法的概念。 首先,我们要...

    浅谈javascript的原型继承

    javascript的继承在很多框架中都有运用,尤其是原型式继承。首先要理解一个概念,什么是原型式继承?所谓的原型式继承,就是在函数内部先创建一个临时性的构造函数,然后将传入的对象做这个构造函数的原型,最后返回...

    浅谈JS继承_借用构造函数 & 组合式继承

    JavaScript中的继承是面向对象编程中的关键概念,允许我们创建基于现有对象的新对象,这些新对象能够继承并扩展其父对象的属性和方法。在JavaScript中,有多种实现继承的方式,其中包括本文将探讨的两种主要技术:...

    浅谈JavaScript对象与继承_.docx

    JavaScript的核心概念之一就是对象,而对象的创建和继承是理解JavaScript的关键。 首先,JavaScript的对象并非基于类,而是基于原型。这意味着,JavaScript的对象并不是由预定义的模板或类创建的,而是通过字面量...

    浅谈js对象的创建和对6种继承模式的理解和遐想

    本文将探讨JavaScript中对象的创建方式以及六种常见的继承模式,包括原型链继承、借用构造函数继承、组合继承、原型式继承、寄生式继承以及寄生组合式继承。 首先,让我们从对象的创建开始谈起。在JavaScript中创建...

    浅谈javascript面向对象编程

    ### 浅谈JavaScript面向对象编程 #### 一、概述 面向对象编程(OOP)是一种编程范式,它使用“对象”来设计软件。在JavaScript中,尽管语言本身并不支持传统的类(class)概念,但开发者可以通过原型继承和其他技术来...

    浅谈Javascript实现继承的方法

    在Javascript中实现继承是面向对象编程的一个核心概念,它允许一个对象能够继承另一个对象的属性和方法。Javascript是一种基于原型的语言,这与基于类的语言如Java和C++有所不同,因此它的继承机制也显得特别独特。...

    浅谈JavaScript对象之教学.pdf

    浅谈JavaScript对象之教学 本文旨在探讨JavaScript对象的教学要点,旨在帮助高职软件技术专业的学生更好地理解和掌握JavaScript语言。文章从对象的概念、使用原生对象、原型链的理解、自定义对象的创建和新的语法...

    浅谈js中的三种继承方式及其优缺点

    JavaScript 是一种动态类型的脚本语言,它在面向对象编程中提供了多种实现继承的方式。这篇文章将深入探讨 JavaScript 中的三种主要继承方法:`prototype`、`apply` 和 `call` 结合 `prototype` 的方式,以及它们...

    浅谈JavaScript对象与继承

    JavaScript是一门面向对象的脚本语言,其对象和继承机制与传统面向对象语言(如Java和C++)存在显著差异。JavaScript的对象不是基于类的实例,而是通过构造函数或者字面量创建的。JavaScript的对象可以被视为键值对...

    浅谈javascript原型链与继承

    在JavaScript中,原型链与继承是核心概念之一。原型链是JavaScript实现继承的机制,它允许一个对象访问另一个对象的属性和方法。继承是指新创建的对象可以继承其原型对象的属性和方法。下面详细探讨这两个概念。 **...

    浅谈JavaScript面向对象–继承

    探索JavaScript继承的本质 2.1构造函数之间的“复制粘贴” 第一条路是通过构造函数来继承,这可以理解为子类直接复制了父类构造函数的代码,然后按照一定的规矩“粘贴”在自己的构造函数中,为己所用。举个例子:  ...

Global site tag (gtag.js) - Google Analytics