首先贴出prototype.js实现继承的代码:
Object.extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}
很明显,这里把source的所有属性copy到destination下,即destination继承source,由于只是简单的属性copy,所以写代码的时候要注意调用Object.extend的顺序,否则无法实现overriding。举个例子:
var Animal={
step:function(){
alert('Animal stepping !')
}
}
var People=Class.create();
People.prototype={
initialize:function(name){
this.name=name;
},
step:function(){
alert(" People "+this.name+' stepping !')
},
work:function(){
alert('People '+this.name+' can work ')
}
}
Object.extend(People.prototype,Animal)//copy 事例变量
var p=new People('xqxq');
p.step();
输出结果为:Animal stepping !
而我本来是想在子类People覆盖掉父类Animal的step方法的,原因很简单:最后才声明People继承Animal,copy过程中父类把子类的方法覆盖了!!
正确的办法是先声明继承(把父类的属性先copy过来),然后再定义子类的方法、属性,比如这个例子,即把
Object.extend(People.prototype,Animal)//copy 事例变量
这句放到var People=Class.create();之后。
分享到:
相关推荐
通过阅读这份中文手册,开发者可以深入了解Prototype 1.5的特性,掌握如何在实际项目中有效地利用它来提升开发效率和代码质量。同时,压缩包中的其他文件,如“红黑软件使用帮助.txt”可能提供了一些额外的信息,如...
- **Prototype1.5.chm**:这是Prototype 1.5的离线帮助文档,通常包含了详细的API参考、示例代码和使用指南,可以帮助开发者快速理解和掌握这个版本的特性。 - **Prototype-1.6.0.3中文手册.chm**:这份手册是1.6....
1. **Prototype1.5.chm**:这可能是一个帮助文档,包含了prototype.js 1.5版本的详细说明和API参考,对于学习和调试代码非常有帮助。 2. **prototype1.4开发手册.chm** 和 **prototype1.4开发手册.doc**:这些都是...
4. **模拟类和继承**:Prototype 通过`Class.create`和`Object.extend`等方法模拟了面向对象编程的概念,使得在JavaScript中实现类和继承成为可能。 5. **Ajax组件**:Prototype 包含了一些预定义的组件,如...
在标题中提到的"prototype1.4.js"和"prototype1.5.js"是PrototypeJS的两个版本,分别代表了该库在不同时间点的开发状态。 1. **PrototypeJS基础概念**: PrototypeJS由Sam Stephenson创建,它的设计目标是提升...
Prototype 1.5 API 是一个JavaScript库,专为Web开发设计,旨在简化DOM操作、事件处理、Ajax交互以及创建可复用的JavaScript对象。这个API文档是开发者学习和使用Prototype库的重要参考资料,提供了详细的函数、方法...
Prototype是JavaScript库中的一个关键工具,它为Web开发者提供了丰富的功能和便利,...通过深入研究"Prototype1.5中文手册"并实践其中的示例,开发者可以大大提高JavaScript编程的效率,打造更加流畅的Web应用程序。
Prototype是JavaScript库,它极大地增强了JavaScript的基本功能,使得开发者能够更高效、更优雅地编写复杂的JavaScript代码。这个压缩包包含了Prototype的1.4和1.5版本的手册以及相关的中文教程,提供了丰富的学习...
Prototype机制是JavaScript实现面向对象编程的核心之一。在这个“prototype操作文档和源码(1.5)”中,我们可以深入理解并学习如何利用Prototype进行高效开发。 首先,`prototype.js`可能是一个实现了Prototype库...
【prototype 1.5 和 Scriptaculous 1.6.1 学习笔记】 Prototype 是一个 JavaScript 库,它提供了一系列强大的工具,用于简化 JavaScript 的面向对象编程和DOM操作。而 Scriptaculous 是基于 Prototype 的一个...
Prototype是JavaScript库的一个重要组成部分,它为JavaScript编程提供了一种更为高效、简洁的方式来操作和扩展JavaScript的...通过深入阅读和实践,你将能够充分利用Prototype库提高你的JavaScript开发效率和代码质量。
**原型(Prototype)是JavaScript语言中的一个重要概念,它在JavaScript对象继承中扮演着核心角色。在"Prototype中文开发手册大全"中,我们主要探讨的是Prototype库,这是一个为JavaScript设计的开源框架,主要用于...
通过阅读JavaScript1.5参考手册,开发者不仅可以学习到这一版本的具体特性,还可以了解到JavaScript语言发展的历程,这对于提高编程技能和解决实际问题大有裨益。尽管现代的Web开发更多地依赖于更新的JavaScript版本...
通过阅读和分析 Prototype 1.5 版本的源码,开发者不仅可以学习到 JavaScript 的高级技巧,还能领略到优秀的代码设计和工程实践。同时,了解 Prototype 的源码也有助于理解其他 JavaScript 库和框架,如 jQuery 和 ...
Prototype 提供了类(Class)、原型继承(Prototype Inheritance)、事件处理(Event Handling)、元素操作(Element Manipulation)等核心特性,简化了 JavaScript 的开发工作。它还包括对 AJAX(异步 JavaScript ...
1.本书1~21章所附代码的运行环境 操作系统:Windows 2003、Windows XP Professional,或者Windows 2000 开发环境:UltraEdit12.10a、eclipse-jee-europa ... prototype.js Prototype的.js库文件。
Prototype是JavaScript领域中的一款著名框架,其最新版1.5 rc2旨在简化动态Web应用程序的开发。这款框架提供了一个独特的工具包,支持类驱动的开发,并拥有出色的Ajax库,因此在Web开发者中广受欢迎。Prototype的...
在Prototype中,`base.js`是基础模块,它提供了类的创建和继承机制。`Class.create()`是一个关键函数,它允许开发者创建自定义的JavaScript类。而`Object.extend(destination, source)`则用于合并源对象的属性到目标...
2. **原型和原型链**:JavaScript使用原型(prototype)来实现继承,每个对象都有一个内部的`__proto__`属性,指向其构造函数的原型对象。原型链是由这些原型对象形成的链状结构,用于查找对象的属性和方法。 3. **...
Prototype是一款JavaScript框架,旨在简化动态Web应用的开发过程。该框架由Sam Stephenson创建,并于2005年2月作为开源项目发布。Prototype的核心开发团队还包括Thomas Fuchs、Justin Palmer、Andrew Dupont、Dan ...