欢迎来到福编程网,本站提供各种互联网专业知识!

小议Function.apply() 之一------(函数的劫持与对象的复制)

发布时间:2006-11-30 作者: 来源:转载
关于对象的继承,一般的做法是用复制法:Object.extend见protpotype.js的实现方法:复制代码代码如下:Object.extend=function(destination,source){for(propertyinsource){destination[property]=source[property];}returndestination;}除此以外,还有一种不太
关于对象的继承,一般的做法是用复制法:Object.extend

见protpotype.js的实现方法:

复制代码 代码如下:Object.extend=function(destination,source){
for(propertyinsource){
destination[property]=source[property];
}
returndestination;
}
除此以外,还有一种不太常见的方法:Function.apply.

apply方法能劫持(<>书中用到"劫持"一语,很生动啊)另外一个对象的方法,
继承另外一个对象的属性。
示范代码如下:
Apply示范代码
复制代码 代码如下:学生类本来不具备任何方法,但是在Person.apply(this,arguments)后,他就具备了Person类的sayhello方法和
所有属性。在Print.apply(this,arguments)后就自动得到了show()方法。


本文,作为抛砖引玉,只对apply的用法(在对象继承和函数劫持方面)做个小示范,其他更深入的应用要
靠大家慢慢去领会了。

相关推荐