je donne les résultats suivants du codedélégué Javascript
function createDelegate(object, method)
{
var shim = function()
{
method.apply(object, arguments);
}
return shim;
}
this.test = 3;
var pAction = {to: this.test}
this.tmp = createDelegate(this, function()
{
print("in: " + pAction.to);
return pAction.to;
});
print("out: " + this.tmp());
Mais pour une raison quelconque, je reçois le résultat suivant
in: 3
out: undefined
Tout le monde sait la raison?
FWIW, votre code essaie essentiellement d'imiter la méthode 'ES5 .bind()'. [Jetez un oeil à la documentation MDN] (https://developer.mozilla.org/fr/JavaScript/Reference/Global_Objects/Function/bind) pour voir leur implémentation. –
Sortie Wat attendez-vous à "out"? – AmGates
Merci Felix Kling. Je vais y jeter un coup d'oeil. – JMCampos