/ / Funzione Javascript ... Chiamata? - javascript, funzione, sintassi

Funzione Javascript ... Nome? - javascript, funzione, sintassi

Sto avendo difficoltà a capire questo codice. Non è la tipica sintassi della funzione Javascript che mi è familiare. È una funzione con nome? O si tratta di una richiamata per l'evento di aggiornamento? Scusa per le domande noobie, sono abbastanza nuovo per JS. Capisco tutto ciò che sta succedendo, eccetto la sintassi di questa funzione foo: function(){}; che sembra accadere molto con un tutorial api sto seguendo.

updateProgress: function () {
$.post("/callback", {
progress: plnzVideoTracker.progress
});
}

risposte:

3 per risposta № 1

Sembra essere un metodo oggetto ("letterale"). Il codice che hai incluso deve essere racchiuso in un oggetto. Ad esempio:

var SomeObject = {
updateProgress: function () {
$.post("/callback", {
progress: plnzVideoTracker.progress
});
}
}

All'interno dell'oggetto, puoi fare riferimento al metodo tramite this.updateProgress(). Al di fuori dell'oggetto, dovresti usare SomeClass.updateProgress().

Puoi leggere di più sui letterali degli oggetti nel Documenti MDN.


0 per risposta № 2

In un'espressione letterale dell'oggetto della forma:

{
// properties ...
}

un identificativo seguito da due punti è il nome di una proprietà dell'oggetto e quindi è seguito dal valore della proprietà:

{
prop1: value
}

un'espressione di funzione è nella forma:

function () {
// function body ...
}

e proprio come qualsiasi altra espressione, puoi assegnarla a qualsiasi variabile o proprietà.

Così...

updateProgress: function () {
$.post("/callback", {
progress: plnzVideoTracker.progress
});
}

È (probabilmente) un frammento di un'espressione dell'oggetto che definisce una proprietà denominata updateProgress il cui valore è la funzione (senza nome) assegnata ad esso.