376 Stimmen

Ist die Verwendung von 'var' zur Deklaration von Variablen optional?

Ist "var" optional?

myObj = 1;

wie bei ?

var myObj = 1;

Bei meinem Test habe ich festgestellt, dass beide funktionieren, ich nehme an var ist fakultativ. Ist das richtig?

4voto

Ken Ubleevit Punkte 41

Var erlaubt es Ihnen, dem Programmierer, nicht, eine Variable zu deklarieren, weil Javascript keine Variablen hat. Javascript hat Objekte. Var deklariert einen Namen für ein undefiniertes Objekt, explizit. Die Zuweisung weist einen Namen als Handle einem Objekt zu, dem ein Wert zugewiesen wurde.

Verwendung von var teilt dem Javacript-Interpreter zwei Dinge mit:

  1. nicht zu verwenden Delegation Reverse Traversal Look Up Wert für den Namen, stattdessen verwenden Sie diese
  2. nicht zu löschen der Name

Auslassung von var weist den Javacript-Interpreter an, die zuerst gefundene vorherige Instanz eines Objekts mit demselben Namen zu verwenden.

Var als Schlüsselwort ist aus einer schlechten Entscheidung des Sprachentwicklers entstanden, so wie Javascript als Name aus einer schlechten Entscheidung entstanden ist.

ps. Studieren Sie die obigen Code-Beispiele.

1voto

Codebling Punkte 9031

Abgesehen von der Reichweite können sie unterschiedlich genutzt werden.

console.out(var myObj=1);
//SyntaxError: Unexpected token var
console.out(myObj=1);
//1

Etwas etwas Aussage vs. Ausdruck

0voto

Nein, es ist nicht "erforderlich", aber es könnte genauso gut sein, da es später zu großen Problemen führen kann, wenn Sie es nicht tun. Wenn Sie eine Variable nicht mit var definieren, wird diese Variable in den Geltungsbereich des Teils des Codes gesetzt, in dem sie sich befindet. Andernfalls ist sie nicht in diesem Bereich enthalten und kann zuvor definierte Variablen mit demselben Namen überschreiben, die außerhalb des Bereichs der Funktion liegen, in der Sie sich befinden.

-2voto

user3357909 Punkte 13

Ich habe die Antwort gerade in einem Forum gefunden, das mir ein Kollege empfohlen hat. Wenn Sie eine Variable außerhalb einer Funktion deklarieren, ist sie immer global. Unabhängig davon, ob Sie das Schlüsselwort var verwenden oder nicht. Wenn Sie die Variable jedoch innerhalb einer Funktion deklarieren, ist das ein großer Unterschied. Wenn Sie die Variable innerhalb einer Funktion mit dem Schlüsselwort var deklarieren, ist sie lokal, aber wenn Sie die Variable ohne das Schlüsselwort var deklarieren, ist sie global. Sie kann Ihre zuvor deklarierten Variablen überschreiben. - Siehe mehr unter: http://forum.webdeveloperszone.com/question/what-is-the-difference-between-using-var-keyword-or-not-using-var-during-variable-declaration/#sthash.xNnLrwc3.dpuf

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X