Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie wirkt sich der Tilde-Operator auf bedingte Ausdrücke in JavaScript aus?

Susan Sarandon
Freigeben: 2024-11-27 20:54:14
Original
215 Leute haben es durchsucht

How Does the Tilde Operator Affect Conditional Expressions in JavaScript?

Bedingter Ausdruck mit vorangestelltem Tilde-Operator

In JavaScript kann ein Tilde-Operator (~) einem Ausdruck vorangestellt werden, um eine bitweise Negation durchzuführen. Bei der Arbeit mit bedingten Ausdrücken kann dieser Operator eine bestimmte Verwendung haben.

Beispielcode:

var attr = ~'input,textarea'.indexOf( target.tagName.toLowerCase() )
           ? 'value'
           : 'innerHTML'
Nach dem Login kopieren

Erklärung:

Die Funktion indexOf() gibt -1 zurück, wenn der Zielwert nicht gefunden wird. Indem wir diesen Wert mit dem ~-Operator negieren, wandeln wir ihn bei Übereinstimmungen effektiv in wahr (jeden Wert ungleich Null) und bei Nichtübereinstimmungen in falsch (-1) um.

Bitweise Operation:

In JavaScript werden Zahlen intern als 32-Bit-Ganzzahlen dargestellt. Der ~-Operator dreht alle Bits in seinem Operanden um und invertiert sie effektiv.

Zum Beispiel, wenn der Wert von 'input,textarea'.indexOf( target.tagName.toLowerCase() ) 1 ist (was das Zeichen darstellt 'i'), seine binäre Darstellung wäre:

0000 0000 0000 0000 0000 0000 0000 0001
Nach dem Login kopieren

Durch die Anwendung des ~-Operators werden alle Bits umgedreht, was zur Folge hat in:

1111 1111 1111 1111 1111 1111 1111 1110
Nach dem Login kopieren

Der resultierende Wert ist -2 in der Zweierkomplementdarstellung.

Bedingtes Ergebnis:

Im bedingten Ausdruck der Wert von ~'input,textarea'.indexOf( target.tagName.toLowerCase() ) wird ausgewertet, um zu bestimmen, ob 'value' oder zugewiesen werden soll 'innerHTML' zur attr-Variablen hinzufügen. Wenn das Ziel gefunden wird, wird der Ausdruck als wahr ausgewertet, was dazu führt, dass attr „Wert“ zugewiesen wird. Andernfalls, wenn das Ziel nicht gefunden wird, wird der Ausdruck als falsch ausgewertet, was dazu führt, dass „innerHTML“ attr.

zugewiesen wird

Das obige ist der detaillierte Inhalt vonWie wirkt sich der Tilde-Operator auf bedingte Ausdrücke in JavaScript aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage