Scusa se mi manca qualcosa di ovvio, ma non riesco a capire come associare un argomento specifico (ennesimo) di una funzione in javascript. La maggior parte della mia programmazione funzionale che ho imparato è stata di Scala, quindi non sono sicuro che ciò sia possibile anche in JS.Funzione JavaScript parzialmente applicata - Come associare solo il 2 ° parametro?
Per esempio, ho capito che posso fare il seguito di impegnare la prima argomentazione
var add = function (a, b) {
return a + b;
};
add(1, 3); //returns 4
var addThree = add.bind(null, 3); //this = null. a = 3
addThree(4); //returns 7
ma come posso legare il secondo argomento e lasciare il primo come è. In altre parole, come posso legare solo a "b"?
Da quello che posso dire da mozilla - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind, gli argomenti sono effettivamente nidificati che fanno sembrare che deve essere in ordine specifico? (Molto probabilmente sto leggendo questo sbagliato)
Modifica: Mi rendo conto che questa è una sorta di esempio forzato. Sto solo cercando di imparare nel caso in cui alla fine mi occupi di qualcosa di più complesso dell'aggiunta di 2 numeri. Sto anche cercando di capire come gli argomenti bind() stiano effettivamente lavorando sotto il cofano.
Sicuro che non intendi "add.bind (null, 3)'? 'add.apply()' viene eseguito immediatamente con gli argomenti e fornito 'this' – deitch
sì, sì, significavo vincolare. appena aggiornato, grazie :) –
Non è inserito nella lingua, ma controlla questo articolo http://ejohn.org/blog/partial-functions-in-javascript/ dove mostra un modo per farlo specificando 'indefinito' per i parametri che vuoi compilare in seguito. –