Vi this article on polymorphic callable objects y estaba tratando de hacer que funcione, sin embargo, parece que no son realmente polimórficos, o al menos no respetan la cadena de prototipos.javascript "objetos invocables polimórficos"
Este código imprime undefined
, no "hello there"
.
¿Este método no funciona con prototipos, o estoy haciendo algo mal?
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);
Me impresionó su retrato y su nombre. Supongo que su nombre es Shuren Zhou. – xis