Heim >Web-Frontend >js-Tutorial >Einführung in die Verwendung und Funktion der einzelnen vertikalen Balken „|' und „||' von js

Einführung in die Verwendung und Funktion der einzelnen vertikalen Balken „|' und „||' von js

高洛峰
高洛峰Original
2016-11-02 15:19:041782Durchsuche

In js-Entwicklungsanwendungen stoßen wir normalerweise auf „|“ und „||“. Was bedeuten „|“ und „||“?

In der Ganzzahloperation von js entspricht dies dem Entfernen des Dezimalpunkts parseInt. Wenn es eine positive Zahl ist, entspricht sie Math.floor(), wenn es eine negative Zahl ist, entspricht sie Math.ceil() Hinweis:

1 wird verwendet aufrunden.
2. Math.floor() wird zum Abrunden verwendet.
3. Math.round() Rundung wird in unserer Mathematik häufig verwendet.

console.log(0.6|0)//0
console.log(1.1|0)//1
console.log(3.65555|0)//3
console. log(5.99999|0)//5
console.log(-7.777|0)//-7

Arithmetische Regeln für einzelne und vertikale Balken

Nachdem wir uns das obige Beispiel angesehen haben Im Allgemeinen wissen wir, dass ein einzelner vertikaler Balken für Rundungsoperationen verwendet werden kann, dh nur der positive Teil bleibt erhalten und der Dezimalteil wird entfernt. Warum kann „|0“ berechnet werden? den Zweck der Rundung erreichen? Wenn der horizontale und der vertikale Balken nicht 0 sind, welcher wäre er?

Mit diesen Fragen schauen wir uns das folgende Beispiel an:

console.log(3|4); //7
console.log(4|4);//4
console.log(8|3);//11
console.log(5.3|4.1);//5
console.log(9|3455);//3455


Der einzelne vertikale Balken „|“ wird hier erwähnt, aber es gibt kein Javascript.

Okay, lass mich die Antwort hier bekannt geben. Tatsächlich ist der einzelne vertikale Balken „|“ das Ergebnis der Addition nach der Konvertierung in eine Binärdatei. Nehmen wir zum Beispiel ein einfaches Beispiel:

3|4
Nach der Konvertierung in eine Binärdatei wird 011|100 hinzugefügt, um 111=7 zu erhalten

4|4
Nach der Konvertierung zu binär, 100 |. 100 wird addiert, um 100=4

8|3
nach der Konvertierung in binär 1000 |011 wird hinzugefügt, um 1011=11

zu erhalten, und so weiter, I Ich werde sie hier nicht auflisten, der einzelne vertikale Balken „|“ ist das Ergebnis der Addition nach der Konvertierung in eine Binärdatei!

JS-Operator mit doppeltem vertikalen Balken

1. JS-Operator mit doppeltem vertikalen Balken: Ja oder Vergleich ', gibt '2' zurück. Das heißt, im OR-Operator ist die erste wahr und die folgenden müssen nicht berechnet werden. Wir erhalten also '2'.

2. Verwenden Sie den doppelten vertikalen Balkenoperator „||“, um den ersten gültigen Wert zurückzugeben.

var objOne = undefiniert || neues Datum ( );

var objTwo = new Date();
var objThree = objOne ||
alert(objThree.toString()); //out put "1"

Leistungsvergleich

Wenn im logischen Operator && || der erste Operand von && falsch ist, wird der zweite Operand nicht berücksichtigt und false wird direkt zurückgegeben ||. ist wahr, der zweite Operand wird nicht berücksichtigt und wahr wird direkt zurückgegeben. Dies ist bei den Operatoren & und | nicht der Fall. Sie müssen immer zwei Operanden vergleichen, um das Ergebnis zu erhalten, sodass die Leistung von && und || besser ist.

Funktionsverwendung

&& und || können nur logische Operationen ausführen, während & und | nicht nur „logische Operationen“ ausführen können, sondern auch Bitoperationen.

Bitoperationen

& und | sind ursprünglich bitweise Operatoren, weil JS eine typlose Sprache ist und jeder Datentyp bei Verwendung von & und | frei konvertiert werden kann Beim Ausführen von „logischen Operationen“ wird true tatsächlich in 1 konvertiert, false wird in 0 konvertiert und dann werden bitweise Operationen ausgeführt:

document.write(true & false); Ergebnis ist 0

Im obigen Satz entspricht das Beispiel der logischen Operation, die in die folgende Bitoperation umgewandelt und ausgeführt wird:

document.write(1 & 0); //JS , das Ergebnis ist 0

Gerade weil & und | bitweise Operatoren sind, erscheint der erste im ersten Punkt erwähnte Punkt. Sie müssen immer zwei Operanden vergleichen, um das Ergebnis zu erhalten, was zu einer schlechteren Leistung führt als && und ||.


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