本文演示了可以用于js封装的构造函数的继承用法,供大家参考:

首先看看下面的代码

(YUI)使用图书馆的方法:

复制代码代码如下:函数扩展(子、父){

Var(f =函数){ };

f.prototype = parent.prototype;

child.prototype =新的f();

child.prototype.constructor =孩子;

child.uber = parent.prototype;

}

还有一种复制继承方法,该方法是属性的副本:

这个方法和以前的不同。因为孩子的原型已经扩展,不需要重置child.prototype.constructor属性,因为它不会再次覆盖。

与以前的方法相比,这种方法在效率上明显地略有不足,因为这是一个原型复制的子对象,而不是简单的原型链查询。

这种方式只适用于只包含基本数据类型的对象。所有的对象类型,包括函数和数组,是不可复制的。他们只支持参考通行证。

复制代码代码如下:功能延长(孩子,父母){

var p = parent.prototype;

var c = child.prototype;

对于(var i){

c {我} = { } };

}

c.uber = P;

}

Var(形状=函数){ }

Var(twodshape =功能){ }

shape.prototype.name =字;

shape.prototype.tostring =函数(){

返回this.name;

}

延长(twodshape,形状);

var t =新twodshape();

T的名字

形状

T.toString();

形状

twodshape.prototype.name = 'twodshape;

T的名字

2d形状

T.toString();

2d形状

twodshape.prototype.tostring = shape.prototype.tostring



twodshape.prototype.name = shape.prototype.name

false

希望本文能对大家的javascript程序设计有所帮助。