Bedingte Anweisungen werden verwendet, um verschiedene Aktionen basierend auf unterschiedlichen Bedingungen auszuführen.
Bedingte Anweisung
Normalerweise müssen Sie beim Schreiben von Code immer unterschiedliche Aktionen für unterschiedliche Entscheidungen ausführen. Sie können in Ihrem Code bedingte Anweisungen verwenden, um diese Aufgabe zu erfüllen.
In JavaScript können wir die folgenden bedingten Anweisungen verwenden:
•if-Anweisung – Verwenden Sie diese Anweisung, um Code nur dann auszuführen, wenn die angegebene Bedingung wahr ist
•if...else-Anweisung – Führen Sie Code aus, wenn die Bedingung wahr ist, und führen Sie anderen Code aus, wenn die Bedingung falsch ist
•if...else if....else-Anweisung – Verwenden Sie diese Anweisung, um einen von mehreren Codeblöcken zur Ausführung auszuwählen
•switch-Anweisung – Verwenden Sie diese Anweisung, um einen von mehreren Codeblöcken zur Ausführung auszuwählen
If-Anweisung
Diese Anweisung führt den Code nur aus, wenn die angegebene Bedingung wahr ist.
Grammatik
Hinweis: Bitte verwenden Sie Kleinbuchstaben, wenn. Die Verwendung von Großbuchstaben (IF) führt zu einem JavaScript-Fehler!
Beispiel
Wenn die Zeit weniger als 20:00 Uhr ist, generieren Sie eine „Guten Tag“-Begrüßung:
x ist:
Guten Tag
Probieren Sie es selbst aus
Bitte beachten Sie, dass es in dieser Syntax kein ..else.. gibt. Sie haben den Browser angewiesen, den Code nur dann auszuführen, wenn die angegebene Bedingung wahr ist.
If...else-Anweisung
Verwenden Sie die if...else-Anweisung, um Code auszuführen, wenn die Bedingung wahr ist, und anderen Code, wenn die Bedingung falsch ist.
Grammatik
Beispiel
Wenn die Zeit kleiner als 20:00 Uhr ist, erhalten Sie die Begrüßung „Guten Tag“, andernfalls die Begrüßung „Guten Abend“.
x ist:
Guten Tag
Probieren Sie es selbst aus
If...else if...else-Anweisung
Verwenden Sie die if...else if...else-Anweisung, um einen von mehreren Codeblöcken zur Ausführung auszuwählen.
Grammatik
x ist:
Guten Morgen
Welche Werte können in JavaScript als Bedingungen von if verwendet werden?
1. Boolesche Variable wahr/falsch
2. Zahl ist nicht 0, nicht NaN/ (0 oder NaN)
Siehe das Beispiel unten. Denken Sie nicht, dass eine negative Zahl bedeutet, dass die if-Anweisung falsch ist.
3. Das Objekt ist nicht null/(null oder undefiniert)
Die Zeichenfolge ist keine leere Zeichenfolge ("")/leere Zeichenfolge ("")
Zusammenfassend lässt sich sagen, dass es für Zeichenfolgen nicht nötig ist, viel if (str!=null && str!=undefined && str !='') zu schreiben, sondern nur einen Satz zu verwenden
Das ist es.
Für die nicht leere Beurteilung von Zahlen sollten Sie die Verwendung der Funktion isNaN() in Betracht ziehen. NaN ist mit keinem Datentyp gleich, einschließlich sich selbst, und kann nur mit isNaN() beurteilt werden. Bei numerischen Typen ist if(a) falsch, wenn a in der if(a)-Anweisung 0 ist, und if(a) ist wahr, wenn es nicht 0 ist
Javascript-Tutorial: Methoden zur Optimierung von If-Anweisungen bei Abkürzungen
UglifyJS ist ein Tool zum Komprimieren und Verschönern von Javascript. In seiner Dokumentation habe ich mehrere Methoden zur Optimierung von if-Anweisungen gesehen. Obwohl ich es nicht für einige vorläufige Tests verwendet habe, können Sie hier sehen, dass es js verschönert. Manche Leute denken vielleicht, dass die if-Anweisung so einfach ist. Inwieweit kann sie optimiert werden? Aber werfen Sie einen Blick auf die folgenden Möglichkeiten und vielleicht ändern Sie Ihre Meinung.
1. Verwenden Sie gängige ternäre Operatoren
if (foo) bar(); else foo?bar():baz();
if (!foo) bar(); ; foo?baz():bar();
if (foo) return bar(); else return baz(); ==>
Sie werden auf jeden Fall mit der oben beschriebenen Verwendung des ternären Operators zur Optimierung von if-Anweisungen vertraut sein, vielleicht verwenden Sie ihn oft.
Beispiel von Script House:
100
2. Verwenden Sie die Operatoren and(&&) und or(||)
if (foo) bar(); ==> foo&&bar();if (!foo) bar();
3. Lassen Sie die geschweiften Klammern weg {}
if (foo) return bar(); else Something(); ==> {if(foo)return bar();something()}Sie und ich sind mit dieser Schreibmethode vertraut, ich empfehle jedoch, dies bei der Optimierung des Codes zu tun oder sich von UglifyJS bei der Lösung helfen zu lassen. Denn wenn eine geschweifte Klammer fehlt, ist die Lesbarkeit des Codes nicht gut.
Als ich dies schrieb, dachte ich an eine Methode zum Erhalten von HTML-Elementattributen in „Mastering JavaScript“ vom Vater von jQuery.
function getAttr(el, attrName){
var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName;
};
Wenn Sie sorgfältig darüber nachdenken, können wir oft effektive Wege finden, um Probleme zu lösen, aber der Schlüssel liegt darin, ob wir gewissenhaft bei der Suche nach einem besseren Weg sind.
[Javascript-Kenntnisse] if(x==null) Abkürzung
if(x==null) oder if (typeof (x) == 'undefiniert') kann wie if(!x) abgekürzt werden, was nicht überprüft wird.Im Gegenteil, wenn (x) bedeutet, dass x nicht leer ist
Bestimmen Sie, ob das Objekt existiert