私はthis article on polymorphic callable objectsを見て、動作させようとしていましたが、実際に多形ではないか、少なくともプロトタイプチェーンを尊重していないようです。javascript "polymorphic callable objects"
このコードではではなく"hello there"
と表示されます。
このメソッドはプロトタイプでは機能しませんか、何か間違っていますか?
var callableType = function (constructor) {
return function() {
var callableInstance = function() {
return callableInstance.callOverload.apply(callableInstance, arguments);
};
constructor.apply(callableInstance, arguments);
return callableInstance;
};
};
var X = callableType(function() {
this.callOverload = function(){console.log('called!')};
});
X.prototype.hello = "hello there";
var x_i = new X();
console.log(x_i.hello);
私はちょうどあなたの肖像画と名前に感動しました。私は彼の名前Shuren Zhouを仮定する。 – xis