2010-04-25 5 views
7

Im Volksmund, Bereich und Kontext haben viel gemeinsam. Welches ist, warum ich verwirrt, wenn ich Verweise auf beide lesen, wie in dem Zitat unten aus einem Artikel auf Schließungen:Was ist der Unterschied zwischen dem Umfang eines Objekts und seinem Kontext in JavaScript?

Scope bezieht sich auf, wo Variablen und Funktionen zugänglich sind, und in dem, was Kontext es wird ausgeführt. (@robertnyman)

Soweit ich das beurteilen kann, Kontext ist nur ein Verweis auf ein Objekt.

Kann jemand bitte erklären, was genau ist Kontext, wie zum Beispiel in der jQuery-Syntax verwendet, $(selector, context). Und ist ein Objekt Scope das gleiche bei ihr Kontext?


Update:

fand ich diesen interessanten Artikel, der sowohl über Umfang und Kontext in JavaScript spricht.

http://www.digital-web.com/articles/scope_in_javascript/

Antwort

5

"Kontext", wie in diesem jQuery Beispiel verwendet wird, ist kein JavaScript Begriff. Es ist nur der Name einer Variablen. Es ist dokumentiert mit dem Rest der jQuery-Dokumentation: http://api.jquery.com/jQuery/#selector-context

+0

Danke, obwohl es sagt: "Allerdings kann ein alternativer ** Kontext ** für die Suche angegeben werden, indem der optionale zweite Parameter der $() Funktion verwendet wird." Sie scheinen sich immer noch auf ** context ** mit dieser Variable zu beziehen. – dkinzer

+0

Ja. Es ist immer noch kein JavaScript-Begriff. Wie es heißt, sucht es standardmäßig "ausgehend vom Dokumentenstamm" (d. H. Der Standardkontext ist der Dokumentenstamm). Sie können das ändern. – Quentin

1

"Kontext" kann viele Dinge bedeuten. In dem Beispiel von jQuery, das Sie angeben, handelt es sich um einen Verweis auf einen Teil des DOM, auf den der Selektor angewendet werden soll, der nichts mit JavaScript-Kontexten zu tun hat.