Mich interessiert, zu welchem Zeitpunkt eine Bedingung in einer If/Else-Anweisung ausgewertet wird.Zeitpunkt der Auswertung der Bedingung (Javascript)
Stellen Sie sich vor, es gibt das folgende Beispiel:
if (complex condition 1) {
do something
}
else if (complex condition 2) {
do something else
}
else if (complex condition 3) {
do something else
}
else {
do anything
}
Was will ich weiß, ist: nicht jeder der komplexen Bedingungen erhält vor der Zeit auf überprüfen, und die Dolmetscher execudes nur die codepart der Bedingung, die wahr ist oder beginnt es mit der ersten Bedingung, wenn es dazu kommt, und wertet nur die zweite Bedingung aus, wenn die erste falsch ist?
Ich bin interessiert in Bezug auf einige Optimierungen für Low-End-Mobilgeräte zu machen.
Die zweite wird nur ausgewertet, wenn die erste falsch ist. Ich bin mir nicht sicher, was Sie mit "komplexer Bedingung" meinen, aber selbst mit etwas Einfachem wie 'if (x || y)' wenn x wahr ist, wird y nicht ausgewertet. Sie können dies selbst testen, indem Sie in die Bedingung einen Funktionsaufruf setzen und in der Funktion console.log() aufrufen. – nnnnnn
gut aus Leistungsgründen Ich möchte vermeiden, dass Low-End-Mobilgeräte eine dieser komplexen Bedingungen im Voraus zu bewerten haben oder werden (= es sei denn, sie sind wirklich erforderlich). –
JavaScript wertet den gesamten Code nur "wenn er da ist" aus. –