ChrisB: scope chain

Beitrag lesen

Hi,

du meinst offenbar JavaScript, nicht Java. Ist dir nicht klar, dass das etwas vollkommen anderes ist?

und zwar zum einen, was versteht man genau unter einer scope chain und wozu dient sie?

Scope ist der Geltungsbereich einer Variablen.

Und JavaScript hat eine scope chain, d.h. eine Kette, in der nach einer Variablen gesucht wird, wenn das Objekt, dessen Eigenschaft sie sein soll, nicht explizit angegeben ist.

</archiv/2009/3/t184896/#m1226489> (auf die scope chain bei Eventhandlern bezogen)

an diesem sollten wir die scope chain skizzieren.

Hausaufgabe?

vor scope: x = 5; y = 10
In scope_test: x = 7, y = 10
nach scope: x = 5; y = 12

vor scope verstehe ich ja noch, da es die variablen schreibt, bevor funktion scope_test ausgeführt wird. dann wird funktion ausgeführt
also wird das x zur 7,

Nein, nicht „das“ x, sondern ein ganz anderes x.
x ist eine lokale Variable in der Funktion. http://de.selfhtml.org/javascript/sprache/variablen.htm

y bleibt bei 10 (da es ja erst nach "document.write" geändert wird).
aber wieso die letzte zeile?

Weil sich das ausserhalb der Funktion definierte x nicht geändert hat, da in der Funktion ein anderes x angesprochen wird.
Das y hingegen ist das gleiche wie ausserhalb der Funktion.

MfG ChrisB

--
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]