7
基本上,我如何使用下面的這個模式調用基本方法?使用道格拉斯克羅克福德的函數繼承在Javascript中調用基本方法
var GS = {};
GS.baseClass = function (somedata) {
var that = {};
that.data = somedata;
//Base class method
that.someMethod = function(somedata) {
alert(somedata);
};
return that;
};
GS.derivedClass = function(somedata) {
var that = GS.baseClass(somedata);
//Overwriting base method
that.someMethod = function(somedata) {
//How do I call base method from here?
//do something else
};
return that;
};
謝謝。
Anatoliy,爲什麼我需要在這種情況下使用.apply方法?如果我可以簡單地調用basemethod(somedata)? – Sergey 2009-09-23 20:27:08
應用程序將在對象「that」的上下文中執行函數「basemethod」,即在可以使用「this」的方法「basemethod」中 - 它將鏈接到該對象。如果使用basemethod(somedata),函數將在全局(窗口)上下文中運行,在這種情況下這是不正確的。樣品:
– Anatoliy 2009-09-24 05:49:49太棒了,謝謝 – danjah 2010-11-22 02:36:21