JS: Prüfe das Vorhandensein einer Variablen, die gleich 0 ist

8

Ich habe einen Codeabschnitt, der die Existenz einer Variablen testet, indem ich eine if-Anweisung wie im folgenden Beispiel verwende. Ich muss eine Sache machen, wenn die Var gesetzt ist, eine andere Sache, wenn es nicht ist. In einem bestimmten Testfall musste die Variable auf 0 gesetzt werden, aber das ist dasselbe mit einer ungesetzten Variablen in JS, anscheinend:

%Vor%

jsFiddle

Also mein Problem ist, wie ich für eine Var testen, wenn ihr Wert berechtigt ist, Null. Ich sollte darauf hinweisen, dass in meiner Funktion mögliche Werte zwischen 0 und 40 + liegen.

In der Vergangenheit habe ich eine Arbeit verwendet, wie den Anfangswert auf eine Zahl zu setzen, die hoch genug ist, dass sie wahrscheinlich nicht an die Funktion übergeben wird, aber das scheint Hackey für mich zu sein. Gibt es einen besseren Weg, es zu tun?

    
inorganik 07.02.2012, 20:57
quelle

4 Antworten

14
%Vor%

toMatch === 0 prüft auf Null.

toMatch === undefined sucht nach undefined

Die Triple-Equals sind strenge Vergleichsoperatoren für diese Art von Szenario. Sehen Sie diese gesegnete Frage: Unterschied zwischen == und === in JavaScript

    
Simon Sarris 07.02.2012, 20:58
quelle
1

Sie können sehen, ob ein Name nicht definiert ist mit:

%Vor%     
Ned Batchelder 07.02.2012 21:00
quelle
1

Anstelle von

%Vor%

verwenden

%Vor%     
Sophie Alpert 07.02.2012 21:00
quelle
0

Javascript ist ein bisschen lustig, wenn es um Werte und boolesche Überprüfungen geht. Ich empfehle, über Truthy und Falsey in Javascript zu lesen.

Sie sollten den Identitätsungleichheitsoperator !== :

verwenden %Vor%

Es lohnt sich auch zu verstehen die Unterschiede zwischen == und === .

    
Oded 07.02.2012 20:58
quelle

Tags und Links