Mi sono abbastanza confuso con il metodo Function.prototype.bind()
.Function.prototype.bind con null come argomento
function playsound(raw) {
}
function onfilechange(then, evt) {
var reader = new FileReader();
reader.onload = function (e) {
console.log(e);
then(e.target.result);
};
reader.onerror = function (e) {
console.error(e);
};
reader.readAsArrayBuffer(evt.target.files[0]);
}
document.getElementById('file')
.addEventListener('change', onfilechange.bind(null, playsound), false);
Qualcuno può spiegarmi cosa fa questo frammento di codice? Il this
è nullo e il secondo argomento è la funzione playsound
. Non riesco a capire l'utilizzo dietro la linea sottostante.
onfilechange.bind(null, playsound)
E l'oggetto Evento è aggiunto all'evento di spedizione significa ?? Come si ottiene l'oggetto evento come argomento quando non si passa. – Shane
Quando chiamate '.bind()', restituisce una funzione, non è un risultato, quindi questa funzione può essere utilizzata in futuro (in caso di invio di eventi nel vostro caso). L'oggetto 'Event' viene passato dal browser. – Zudwa