Heim >Web-Frontend >js-Tutorial >Wie man schnellere JavaScript -Zustandsausdrücke schreibt

Wie man schnellere JavaScript -Zustandsausdrücke schreibt

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌Original
2025-03-10 00:32:12899Durchsuche

How to Write Faster JavaScript Condition Expressions

Wie man schnellere JavaScript -Zustandsausdrücke schreibt

In JavaScript gibt es eine interessante Optimierungsfunktion, die nicht unbedingt in anderen Sprachen gilt. Betrachten Sie das folgende Code -Beispiel:
var x = 10;
var y = true;

if (x*x > 1000 || y) alert("true!");
Wie zu erwarten, wird „True“ ausgegeben, weil y wahr ist - obwohl die erste Bedingung fehlschlägt. JavaScript -Dolmetscher analysieren jede Bedingung nacheinander. Wenn wir X auf 100 ändern, wäre x*x größer als 1000 und bewertet auf True. Da wir jedoch eine logische oder (||) verwenden, muss der Interpreter niemals analysieren - der Ausdruck muss wahr sein, sodass der Alarm angezeigt wird. Daher können wir Ausdrücke optimieren, um sicherzustellen, dass diejenigen, die die geringste Verarbeitung benötigen, zuerst analysiert werden, d. H.
if (y || x*x > 1000) alert("true!");
Wenn y wahr ist, muss der Dolmetscher niemals den zweiten Zustand bewerten. Dies könnte eine beträchtliche Zeit sparen, insbesondere wenn wir eine Funktion aufrufen, intensive Berechnungen durchführen oder das DOM analysieren. Die gleiche Optimierung gilt für logisch und (&&). In diesem Fall macht der erste Ausdruck, der auf False bewertet wird, die gesamte Bedingung falsch - keine weitere Verarbeitung ist erforderlich.

Zuweisungen innerhalb von Bedingungen

James Edwards hat kürzlich den Artikelauftrag in einer Bedingung geschrieben, in der er Code wie… besprach…
if (summary = document.getElementById("post-summary")) {
	alert(summary.innerHTML);
}
Die Zusammenfassung Variable wird auf das HTML-Element mit einer ID von „post-ommers“ eingestellt. Wenn das Element existiert, bewertet die Bedingung auf True und der Alarm erscheint. Wenn ein Element nicht gefunden werden kann, bewertet die Bedingung auf False und keiner der bedingten Code wird ausgeführt. Es ist eine nützliche Technik, obwohl nach den Kommentaren nur wenige Entwickler die Praxis mochten, weil JavaScript schwieriger zu lesen und zu debuggen wird. Es gibt jedoch ein weiteres Problem - unter 2 oder mehr Bedingungen kann Ihre Aufgabe niemals ausgeführt werden. Zum Beispiel:
if (x || y = functionY()) {
	alert(y);
}
Wenn X an True bewertet wird, weist der Interpreter y niemals einen Wert zu und der Alarm wird immer einen Fehler werfen. Wir könnten es beheben, indem wir die Bedingungen umkehren, damit y immer bewertet wird, z.
if (y = functionY() || x) …
Selbst dann könnte es immer noch Verwirrung verursachen, da es nicht offensichtlich ist, dass die Reihenfolge dieser Bedingungen unerlässlich ist. Ein Entwickler, der die obere Hälfte dieses Artikels gelesen hat, könnte sogar versuchen, den Code zu optimieren, indem er X zuerst bewertet! Zusammenfassend lässt sich sagen, dass, wenn Sie Aufträge innerhalb von Bedingungen verwenden möchten, aber seien Sie absolut sicher, dass dies der einzige Zustand ist, den Sie jemals brauchen werden!

häufig gestellte Fragen zu schnelleren JavaScript -Zustandsausdrücken

Was ist ein javaScript -bedingter Ausdruck? Es ist eine Kurzform, eine IF-ELSE-Erklärung zu schreiben. Es ist wie folgt strukturiert: Zustand? value_if_true: value_if_false. Der Zustand wird zuerst bewertet. Wenn es wahr ist, gibt der Ausdruck die value_if_true zurück. Wenn es falsch ist, gibt es die value_if_false zurück.

Wie bewertet JavaScript logische und (&&) und oder (||) Operatoren? Für den und den Bediener bewertet JavaScript, wenn der erste Operand falsch ist, den zweiten Operanden nicht und gibt den ersten Operanden zurück. Für den OR -Operator bewertet JavaScript, wenn der erste Operand wahr ist, den zweiten Operand nicht und gibt den ersten Operand zurück.

Wie kann ich JavaScript -Bedingungen verwenden, um Werte zu vergleichen? als), = (größer als oder gleich) und if (Bedingung) {

// Code, der ausgeführt werden soll, wenn die Bedingung wahr ist JavaScript? Wenn beispielsweise eine Bedingung wahr ist, wird die Bedingung falsch zurückgegeben und umgekehrt.

Kann ich ternäre Operatoren für mehrere Bedingungen in JavaScript verwenden? Es ist jedoch wichtig zu beachten, dass verschachtelte ternäre Operatoren Ihren Code schwieriger zu lesen und zu verstehen können. Sie sollten daher sparsam verwendet werden. Dies ist eine effizientere Möglichkeit, mehrere sonstige, wenn Bedingungen zu schreiben. Die Syntax lautet wie folgt:

Switch (Ausdruck) {

Fall X:

// Code Block

break; Wenn es eine Übereinstimmung gibt, wird der entsprechende Codeblock ausgeführt.

Was ist der Unterschied zwischen Null und Undefiniert in JavaScript? Es ist ein absichtliches Fehlen eines Objektwerts. Andererseits wurde undefined bedeutet, dass eine Variable deklariert wurde, aber noch nicht zugewiesen wurde. Wenn die Variable nicht definiert ist, gibt typeof „undefiniert“ zurück. Hier ist ein Beispiel:

if (typeof myvar!

Das obige ist der detaillierte Inhalt vonWie man schnellere JavaScript -Zustandsausdrücke schreibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn