In this commit v'è un cambiamento non riesco a spiegareUnderstanding "questa" parola chiave
deferred.done.apply(deferred, arguments).fail.apply(deferred, arguments);
diventa
deferred.done(arguments).fail(arguments);
AFAIK, quando si richiama una funzione come un membro di qualche oggetto come obj.func()
, all'interno della funzione this
è associato a obj
, quindi non ci sarebbe alcun modo di invocare una funzione tramite apply()
solo per il numero a obj
. Invece, secondo i commenti, questo era necessario a causa di alcune precedenti implementazione $.Callbacks.add
.
Il mio dubbio non si tratta di jQuery, ma circa il linguaggio Javascript stesso: quando si richiama una funzione come obj.func()
, come può essere che all'interno func()
la parola this
non è vincolata-obj
?
In che modo la modifica del commit è correlata alla tua domanda? '.apply' è stato usato per passare la quantità' n' di argomenti ad un'altra funzione, non per il suo contesto che costringe le abilità. – Esailija
@Esailija, penso che tu abbia capito il punto! – Raffaele
@Christoph Penso che abbia capito il punto. apply() non è stato usato per forzare il contesto, poiché * questo * era già * posizionato correttamente * (e questo risponde alla mia domanda) – Raffaele