Netscape的Bob Clary也提出了一个方法,通过这种方法,一个对象可以使用一个通用的脚本从另一个对象继承属性和函数。这个脚本只是将“父”对象的属性和函数复制到“子”对象。为此,我们将说明如何对脚本稍加修改,从而只是将子对象中不存在的属性和函数复制到子对象;这样一来,子对象中的函数就能覆盖父对象的函数。在两个对象之间创建继承关系的通用函数如下:
function createInheritance(parent, child) {
var property;
for(property in parent) {
if(!child[property]) {
child[property] = parent[property];
}
}
}
createInheritance函数有两个参数,父对象和子对象。这个函数只是迭代处理父对象的所有成员(成员就是属性或函数),如果某个成员在子对象中不存在,则复制到子对象。
使用createInheritance函数相当简单:首先创建子对象的一个实例,然后使用createInheritance函数,为它传递子对象以及父对象的一个实例,如下:
var child = new Child();
createInheritance(new Parent(), child);
父对象中有而子对象中没有的所有属性和方法将复制到子对象。

- 评论:(0)
发表评论 点击这里获取该日志的TrackBack引用地址