Perché non è possibile utilizzare direttamente this
anziché self
nell'esempio seguente?Perché abbiamo bisogno di "var self = this" nelle classi in Javascript?
function SeatReservation(name, initialMeal) {
var self = this;
self.name = name;
self.meal = ko.observable(initialMeal);
}
Dopo le risposte, ho imparato:
Sì, non è necessario se non c'è cambio di contesto in classe.
Ma userò questo approccio come "convenzione" anche se non ce n'è bisogno.
Vuol setTimeout run nel costruttore? O è un metodo di classe? – ozz
@ozz: consultare la documentazione di ['window.setTimeout'] (https://developer.mozilla.org/en/DOM/window.setTimeout); ritarda l'esecuzione della funzione fornita per il numero di millisecondi specificato. – Matt
Per non parlare, setTimeout consente anche di passare un parametro. per esempio http://jsfiddle.net/gRoberts/rYB3f/ che nel tuo esempio rimuoverebbe la necessità di ridichiarare 'this' come' self'. – Gavin