Zuweisung von Standardwerten an Variablen
Sie können den logischen Operator oder verwenden ||
in einem Zuweisungsausdruck, um einen Standardwert anzugeben:
var a = b || c;
Die a
erhält den Wert der Variable c
nur wenn b
でございます falsy (wenn es null
, false
, undefined
, 0
, empty string
ou NaN
), andernfalls a
erhält den Wert von b
.
Dies ist oft in Funktionen nützlich, wenn Sie einem Argument einen Standardwert geben wollen, falls es nicht geliefert wird:
function example(arg1) {
arg1 || (arg1 = 'default value');
}
Beispiel für IE-Fallback in Event-Handlern:
function onClick(e) {
e || (e = window.event);
}
Die folgenden Sprachfunktionen gibt es schon seit langem, alle JavaScript-Implementierungen unterstützen sie, aber sie waren erst Teil der Spezifikation ECMAScript 5. Auflage :
Die debugger
Anweisung
Beschrieben in: § 12.15 Die Debugger-Anweisung
Mit dieser Anweisung können Sie Haltepunkte programmatisch in Ihrem Code einfach durch:
// ...
debugger;
// ...
Wenn ein Debugger vorhanden oder aktiv ist, führt dies zu einem sofortigen Abbruch, genau in dieser Zeile.
Andernfalls, wenn der Debugger nicht vorhanden oder aktiv ist, hat diese Anweisung keine beobachtbare Wirkung.
Mehrzeilige String-Literale
Beschrieben in: § 7.8.4 String-Literale
var str = "This is a \
really, really \
long line!";
Sie müssen vorsichtig sein, denn das Zeichen neben dem \
muss ein Zeilenende sein, wenn Sie ein Leerzeichen nach der \
zum Beispiel wird der Code siehe genau dasselbe, aber es wird eine SyntaxError
.
1 Stimmen
Meinten Sie nicht: "Nachdem ich gesehen habe, wie viele Sympathiepunkte und Meinungen diese andere Frage erhalten hat, dachte ich, ich stelle fast genau dieselbe Frage, um meine eigene zu verbessern"? ;-)
1 Stimmen
Klar, Pessimist :) Ich hatte überlegt, dies zu einer Gemeinschaftsfrage zu machen. Außerdem ist es so, dass ab einer bestimmten Anzahl von Punkten der Ertrag immer geringer wird.
1 Stimmen
Na gut - es sieht nicht so aus, als ob Sie den Vertreter "brauchen"! Ich schätze, ich habe nur ein großes Problem mit der C# ein - scheint nicht gerade wie die Art der Frage, für die diese Seite gedacht war.
3 Stimmen
Ja, vielleicht nicht, aber ich fand das Wissen in den Antworten großartig. Ich denke, es wäre schwierig, einem durchschnittlichen C#-Programmierer all das an einem Ort zu vermitteln, wenn es nicht SO gäbe. Es würde Jahre dauern, damit zu spielen, um mit der gleichen hart erkämpften Liste aufzuwarten.
0 Stimmen
Mir gefällt diese Reihe von Fragen; ich denke, das "digg"-ähnliche System für die Antworten ist besser als das "+1"-System, das man in Foren sieht. Es ist viel einfacher zu sehen, was die Community für am wichtigsten hält. Ich bin sicher, das ist auch ein guter Link-Köder für Google!
7 Stimmen
Ich schreibe jetzt seit 10 Jahren professionell JavaScript und habe aus diesem Thread einiges gelernt. Danke, Alan!