Heim > Web-Frontend > js-Tutorial > Vertiefendes Verständnis von && und || Beispielen in js

Vertiefendes Verständnis von && und || Beispielen in js

零下一度
Freigeben: 2017-07-19 22:32:04
Original
1535 Leute haben es durchsucht

Beginnen wir mit zwei Fragen:

Die erste Frage ist, warum a && b true zurückgibt und b && a 6 zurückgibt

1 var user = 6;2 var both = true;3 4 console.log( user && both);    //true5 console.log( both && user);    //6
Nach dem Login kopieren

Die zweite Frage führen beide eine Selbstdekrementierung durch, und der endgültige gedruckte Wert ist immer noch 3

1 var user = false;2 var both = 3;3 4 console.log( user && both--);    // false5 console.log(both);   // 3
Nach dem Login kopieren

Lassen Sie es uns auf drei Ebenen verstehen (am Beispiel von &&):

Verstehen der ersten Ebene: Die Operanden sind alle boolesche Werte, das Ergebnis ist nur wahr, wenn beide wahr sind, andernfalls ist es falsch.

Verstehen der zweiten Ebene: && kann mit wahren Werten und falschen Werten arbeiten. Wenn beide Werte wahr sind, wird ein wahrer Wert zurückgegeben, andernfalls wird ein falscher Wert zurückgegeben. Wahre Werte sind jedoch nicht auf wahr beschränkt, und falsche Werte sind nicht auf falsch beschränkt. Die folgenden Werte werden in falsch umgewandelt (alle anderen Werte sind wahr)

undefiniert

null

0/-0

NaN

" "

In js lautet das Ergebnis bei der &&-Operation Nicht immer wahr oder falsch, sondern der aktuelle Wert. Der aktuelle Wert kann ein numerischer Wert, eine Zeichenfolge usw. sein.

Wenn der erste Ausdruck wahr ist, wird der Wert des zweiten Ausdrucks als Ergebnis verwendet. Dieses Ergebnis ist nicht der konvertierte Wert, sondern dieser.

Wenn der erste Ausdruck falsch ist, wird der Wert des ersten Ausdrucks als Ergebnis verwendet. Dieses Ergebnis ist nicht der konvertierte Wert, sondern selbst.

  user = 6  both =   math = 0 console.log( user && both);     console.log( both && user);     console.log( both && math);     console.log( math && both);
Nach dem Login kopieren

Die dritte Ebene des Verständnisses: Kurzschlussoperation, der Operationsprozess, berechnet zuerst den Wert des linken Operanden. Wenn das Berechnungsergebnis ein falscher Wert ist, dann ist das Ergebnis der gesamte Ausdruck ein falscher Wert, d. h. der Wert des linken Operanden stoppt auch die Auswertung des rechten Operanden. Wenn das Ergebnis des linken Operanden wahr ist, hängt das gesamte Ergebnis vom Wert des rechten Operanden ab.

Erklärung zur Kurzschlussoperation:

Wenn bei &&- und ||-Operationen der Wert des ersten Ausdrucks bereits das Ergebnis der gesamten Operation bestimmen kann, wird dies der Fall sein nicht ausgeführt werden

Für die &&-Operation ist der Wert des ersten Ausdrucks falsch, was bestimmt, dass das gesamte Operationsergebnis falsch ist, sodass der erste Ausdruck nicht ausgeführt wird, also wird y-- nicht ausgeführt. Der Wert von y ist immer noch 3

  x =   y = 3 console.log(x && y--);     console.log(y);
Nach dem Login kopieren

Für ||,

Wenn der Wert des ersten Ausdrucks wahr ist, ist das Ergebnis der Wert des ersten Ausdrucks, nicht Nach der Konvertierung, es ist es selbst.

Wenn der erste Ausdruck „falsch“ ergibt, ist das Ergebnis der Wert des zweiten Ausdrucks, nicht nach der Konvertierung, sondern selbst.

1 var user = true;2 var both = 10;3 4 console.log(user || ++both);  //true5 console.log(both);   //10
Nach dem Login kopieren

&& hat genau das gleiche Prinzip wie ||, aber die Operationsregeln sind unterschiedlich.

1 var a = 10;2 var b = true;3 var c = 0;4 5 console.log(a || b);    //106 console.log(b || a);    //true7 8 console.log(b || c);    //true9 console.log(c || b);    //true
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonVertiefendes Verständnis von && und || Beispielen in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage