0
jsプロトタイプから継承しようとするといくつか問題があります。 問題は、サブクラスでは、マスターから派生した場合、マスターからのinitXメソッドは "this"を介したメソッドとして知られていません。 FirbugでJSのプロトタイプ:まだ派生していない親メソッドへのアクセス
function master() {};
function sub() {};
master.prototype = {
init: function() {
console.log('Master Init!');
this.initX(); // This is where the error is thrown
},
initX: function() {
console.log('Master InitX');
}
};
sub.prototype = new master();
sub.prototype.constructor = sub;
sub.parent = master.prototype;
sub.prototype.init = function() {
sub.parent.init.call();
console.log('Sub Init');
}
var subby = new sub();
subby.init();
エラーメッセージがされていますので、基本的には母のinitが呼び出されますが、それは母のinitであるためthis.initXのエラーがスローされます
TypeError: this.initX is not a function
。
誰でも任意のアイデア?
ありがとう!それはうまくいった! –