1661 Stimmen

Was ist der Zweck des Schlüsselworts var und wann sollte ich es verwenden (oder weglassen)?

ANMERKUNG : Diese Frage wurde aus dem Blickwinkel von ECMAScript Version 3 oder 5 gestellt. Die Antworten könnten mit der Einführung neuer Funktionen in der Version 6 von ECMAScript veraltet sein.

Was genau ist die Funktion des var Schlüsselwort in JavaScript, und was ist der Unterschied zwischen

var someNumber = 2;
var someFunction = function() { doSomething; }
var someObject = { }
var someObject.someProperty = 5;

und

someNumber = 2;
someFunction = function() { doSomething; }
someObject = { }
someObject.someProperty = 5;

?

Wann würden Sie einen der beiden verwenden und warum/wozu dient er?

4voto

Akash Arora Punkte 71

Wenn Sie innerhalb eines Codes eine Variable verwenden, ohne var zu benutzen, wird die Variable var_name automatisch in den globalen Bereich gestellt, z. B:

someFunction() {
    var a = some_value; /*a has local scope and it cannot be accessed when this
    function is not active*/
    b = a; /*here it places "var b" at top of script i.e. gives b global scope or
    uses already defined global variable b */
}

4voto

deathangel908 Punkte 6757

Neben der Frage des Geltungsbereichs erwähnen einige Leute auch Heben , aber niemand hat ein Beispiel genannt. Hier ist eines für den globalen Geltungsbereich:

console.log(noErrorCase);
var noErrorCase = "you will reach that point";

console.log(runTimeError);
runTimeError = "you won't reach that point";

3voto

umut Punkte 986

Ohne die Verwendung von "var" können Variablen nur definiert werden, wenn ein Wert gesetzt wird. Im Beispiel:

my_var;

kann nicht arbeiten in globale Reichweite o jeder andere Bereich . Es sollte mit Wert wie sein:

my_var = "value";

Auf der anderen Seite können Sie eine Variable definieren wie;

var my_var;

Sein Wert ist undefined ( Sein Wert ist nicht null und es ist nicht gleich null Interessanterweise.).

3voto

S Khurana Punkte 3734

Sie sollten das Schlüsselwort var verwenden, es sei denn, Sie beabsichtigen, die Variable an ein Fensterobjekt im Browser anzuhängen. Hier ist ein Link, der Scoping und den Unterschied zwischen glokalem Scoping und lokalem Scoping mit und ohne var-Schlüsselwort erklärt.

Wenn Variablen ohne das Schlüsselwort var definiert werden, handelt es sich um eine einfache "Zuweisung".

Wenn der Wert einer Variablen in Javascript zugewiesen wird, versucht der Interpreter zunächst, die "Variablendeklaration" im gleichen Kontext/Umfang wie die Zuweisung zu finden. Wenn der Interpreter ausführt dummyVariable = 20 sucht es nach der Deklaration von dummyVariable am Anfang der Funktion. (Da alle Variablendeklarationen vom Javascript-Interpreter an den Anfang des Kontexts verschoben werden, wird dies als "hoisting" bezeichnet)

Sie sollten sich auch Folgendes ansehen Heben in Javascript

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