2013-04-11 8 views
8

Ich arbeite durch Knockoutjs Tutorial. Und eine Sache scheint mir komisch. Ich bin zur Zeit in Teil 2:In knockout.js, warum "das" wird "selbst" zugewiesen?

http://learn.knockoutjs.com/#/?tutorial=collections

Und in diesem Teil in jeder „Klasse“, „this“ auf „Selbst“ zugewiesen wird .. es war nicht der Fall in dem ersten?

Warum sollte jemand das tun? Hat jemand, der diesen bestimmten Code geschrieben hat, eine Python-Sucht, oder gibt es tatsächlich einige Vorteile?

+4

mögliche Duplikate von [JS: var self = das?] (Http://stackoverflow.com/questions/337878/js-var-self-this) Und zur weiteren Lektüre: Und zum Weiterlesen: http: // stackoverflow.com/questions/9589419/difference-between-knockout-view-model-declared-as-object-literals-vs-functions – nemesv

Antwort

7

Da "dies" je nach Kontext auf verschiedene Objekte verweist, kann man eine Referenz auf ein bestimmtes Objekt speichern, indem man es einer anderen Variablen zuweist, zum Beispiel "self".

+1

Ich würde auch hinzufügen, es ist keine knockout spezifische Frage wirklich, es ist ein allgemeines Javascript häufig verwendetes Entwicklungsmuster (einschließlich Knoten). – lucuma

+0

Obwohl dies zutrifft, scheint es, dass der Gebrauch von Knockout in diesem Beispiel frivol ist. Es gibt keinen Kontextwechsel und Sie können "self" in "this" ändern und das Beispiel funktioniert gut. Vielleicht tun sie das, weil später im Tutorial Kontextwechsel stattfindet? – MikeMurko

+0

Ja, ich würde denken, dass es manchmal zur Gewohnheit wird. – Whistletoe

Verwandte Themen