![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
(z.B. in diesem Fall auf http://ejohn.org/blog/javascript-get...s/#postcomment) |
|
Also die {} als äußerste Begrenzung für irgendwelchen Javascript code außerhalb von Funktionen oder Object Literals. Was hat es damit auf sich? |
#3
| |||
| |||
|
|
Andreas M. schrieb: (z.B. in diesem Fall auf http://ejohn.org/blog/javascript-get...s/#postcomment) Hier ist es lediglich ein Beispiel. |
#4
| |||
| |||
|
|
Am 05.05.2008 11:24 J. Strübig wrote Andreas M. schrieb: (z.B. in diesem Fall auf http://ejohn.org/blog/javascript-get...s/#postcomment) Hier ist es lediglich ein Beispiel. Auch hier weiß ich inzwischen (ein _bisschen_) mehr. :-) http://yuiblog.com/blog/2007/06/12/m...comment-140208 |
#5
| ||||||
| ||||||
|
|
manchmal sehe ich Konstrukte wie: { getValue: function(){ return this._value; }, setValue: function(val){ this._value = val; } } (z.B. in diesem Fall auf http://ejohn.org/blog/javascript-get...s/#postcomment) Also die {} als äußerste Begrenzung für irgendwelchen Javascript code außerhalb von Funktionen oder Object Literals. |
|
Was hat es damit auf sich? { var test; //hier ist test sichtbar } //hier nicht. |
|
Einfach nur ein neuer "Scope-Unterbreich" oder wie man das auch immer nennen soll. |
|
var f; |
|
{ var test; ^ f = function() { return test; }; test = 123; } |
|
Den Wert von test solltest du nur über die Funktion f erfragen können, AFAIK. |
#6
| |||
| |||
|
| An diese Stelle im From-Header gehört die Adresse einer Mailbox, siehe |
|
Absenderadresse ist optional), damit den Zitatebenen leicht ein Autor zugeordnet werden kann. Siehe auch http://einklich.net/usenet/usenet1.htm ff. v ECMAScript-Implementationen unterstützen nämlich kein automatisches Block-Scoping wie u.a. andere Sprachen der C-Familie. [...] Einfach nur ein neuer "Scope-Unterbreich" oder wie man das auch immer nennen soll. "Scope" bedeutet Gültigkeits*bereich* (eines Bezeichners, z.B. einer Variablen). var f; Das ist eine Variablendeklaration. { var test; ^ f = function() { return test; }; test = 123; } Wie sich bereits durch blosses Ausprobieren herausfinden lässt, ist das folglich ein Syntaxfehler, denn an der markierten Stelle wird ein Bezeichner oder ein StringLiteral erwartet (Name einer Eigenschaft des mit dem ObjectInitializer erzeugten Objekts). (`var' ist ein reserviertes Wort, es kann folglich kein Bezeichner sein.) Wo ist der Syntaxfehler? |
|
Program : SourceElements SourceElements : SourceElement SourceElements SourceElement SourceElement : Statement FunctionDeclaration Statement : Block [...] VariableStatement [...] Block : { StatementList_opt } StatementList : Statement StatementList Statement VariableStatement : var VariableDeclarationList ; VariableDeclarationList : VariableDeclaration [...] VariableDeclaration : Identifier Initialiser_opt Was das ausprobieren betrifft: var f; { var test; test = 1; } alert(test); FireFox 2.0.0.14 akzeptiert den obigen Code. Aber er zeigt auch, dass die Variable test außerhalb der { } sichtbar ist. |
![]() |
| Thread Tools | |
| Display Modes | |
| |