先对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
分享到:
相关推荐
在JavaScript中,继承是一种关键机制,允许我们创建类层次结构,实现代码的复用和扩展。本文主要探讨两种继承模式:寄生式继承和寄生组合式继承。 首先,寄生式继承是一种不直接修改原对象,而是通过创建其副本并在...
在JavaScript中,继承是面向对象编程的一个核心概念,它允许一个对象(子对象)继承另一个对象(父对象)的属性和方法。本文将深入探讨JavaScript中的继承实现方式以及公有、私有和静态方法的概念。 首先,我们要...
javascript的继承在很多框架中都有运用,尤其是原型式继承。首先要理解一个概念,什么是原型式继承?所谓的原型式继承,就是在函数内部先创建一个临时性的构造函数,然后将传入的对象做这个构造函数的原型,最后返回...
JavaScript中的继承是面向对象编程中的关键概念,允许我们创建基于现有对象的新对象,这些新对象能够继承并扩展其父对象的属性和方法。在JavaScript中,有多种实现继承的方式,其中包括本文将探讨的两种主要技术:...
JavaScript的核心概念之一就是对象,而对象的创建和继承是理解JavaScript的关键。 首先,JavaScript的对象并非基于类,而是基于原型。这意味着,JavaScript的对象并不是由预定义的模板或类创建的,而是通过字面量...
本文将探讨JavaScript中对象的创建方式以及六种常见的继承模式,包括原型链继承、借用构造函数继承、组合继承、原型式继承、寄生式继承以及寄生组合式继承。 首先,让我们从对象的创建开始谈起。在JavaScript中创建...
### 浅谈JavaScript面向对象编程 #### 一、概述 面向对象编程(OOP)是一种编程范式,它使用“对象”来设计软件。在JavaScript中,尽管语言本身并不支持传统的类(class)概念,但开发者可以通过原型继承和其他技术来...
在Javascript中实现继承是面向对象编程的一个核心概念,它允许一个对象能够继承另一个对象的属性和方法。Javascript是一种基于原型的语言,这与基于类的语言如Java和C++有所不同,因此它的继承机制也显得特别独特。...
浅谈JavaScript对象之教学 本文旨在探讨JavaScript对象的教学要点,旨在帮助高职软件技术专业的学生更好地理解和掌握JavaScript语言。文章从对象的概念、使用原生对象、原型链的理解、自定义对象的创建和新的语法...
JavaScript 是一种动态类型的脚本语言,它在面向对象编程中提供了多种实现继承的方式。这篇文章将深入探讨 JavaScript 中的三种主要继承方法:`prototype`、`apply` 和 `call` 结合 `prototype` 的方式,以及它们...
JavaScript是一门面向对象的脚本语言,其对象和继承机制与传统面向对象语言(如Java和C++)存在显著差异。JavaScript的对象不是基于类的实例,而是通过构造函数或者字面量创建的。JavaScript的对象可以被视为键值对...
在JavaScript中,原型链与继承是核心概念之一。原型链是JavaScript实现继承的机制,它允许一个对象访问另一个对象的属性和方法。继承是指新创建的对象可以继承其原型对象的属性和方法。下面详细探讨这两个概念。 **...
探索JavaScript继承的本质 2.1构造函数之间的“复制粘贴” 第一条路是通过构造函数来继承,这可以理解为子类直接复制了父类构造函数的代码,然后按照一定的规矩“粘贴”在自己的构造函数中,为己所用。举个例子: ...