2016-05-05 8 views
-4

fand ich, dass in Javascript, wenn wir in der KonsoleStatements in geschweiften Klammern Probleme gewickelt

var i = 5; 
{ 
    i = 6; 
} 
var b; 

Warum schreiben ist es 6 Spucken und wenn ich schreibe, so etwas wie:

{ 
t:33 
} 

wo die Variable t speichert und wie man darauf zugreifen kann?

+2

Ihre Frage hat, ist nicht klar. – Gogol

+0

Warum gibt der erste Bock 6 als Ausgabe? – fruitjs

+0

Ich habe noch nie einen solchen JS-Code-Block gesehen, nicht sicher, was Sie davon erwarten – Borjante

Antwort

1

Da dies:

var i = 5; 
{ 
    i = 6; 
} 
var b; 

Ist das gleiche wie das Schreiben:

var i = 5; 
i = 6; 
var b; 

Variablendeklarationen werden nicht in der Konsole angemeldet, nur asignments, so dass Sie die 6 vom i=6 sehen werden Ausrichtung. (I = 6 gibt den asigned Wert, die var Erklärung nicht)

Im zweiten Fall, dass Sie ein Objekt erstellen, die eine Schlüssel t

+0

Können wir auf jeden Fall auf t zugreifen? – fruitjs

+0

Sie können nicht, weil Sie keinen Verweis auf das erstellte Objekt gespeichert haben, daher ist es Müll gesammelt. Wenn Sie einen Verweis auf dieses Objekt speichern, z. B. 'var obj = {t: 3}', können Sie dann 'obj.t' schreiben – Cristy

Verwandte Themen