javascript中从一个类借用方法供另一个类使用

在javascript中,子类化和继承都不是扩展一个类的唯一方式。函数是数据值,可以从一个类复制函数用于另一个类。
我们写一个借用方法,一个单独的function,在这个函数中完成
例:从一个类借用方法供另一个类使用

function borrowMethods(borrowFrom,addTo){ //参数必须是两个构造函数名
var from = bowwowForm.prototye;
var to = addTo.prototype;
for(m in from){ //循环被借用的那个构造的的原型属性
if(typeof from[m] != "function" ){ //只取方法,忽略不是方法的那些属性
count;
}
to[m] = from[m];
}
}

[color=red]需要注意[/color]:js中内置类型---如Object,Array,Date,RegExp,因为没有for/in可枚举的属性,因此不能用做这一方法的参数。即这些内置类型的方法不能被借用。

另外:从原始构造中取得的方法,很有可能是针对原始构造所创建对象的,而其它类使用它没有任何意义,我们可以编写某些通用方法,放在一个类中,以使它适用于任何类。这种编程思想,就相当于java中的那种公共模块的使用。
例如:我们定义一个类,它自己没有方法及属性,全部是原型中的方法,是为了让其它类来借用而设置的。

function GenericToString(){};
GenericToString.prototype.toString=function(){
方法体;//方法体中是共用的定义,是让所有的类都能使用的动作
}

然后,我们就可以使用之前的borrowMethods()方法来借用这个类中的方法了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值