Maison > interface Web > js tutoriel > Comment l'opérateur Tilde affecte-t-il les expressions conditionnelles en JavaScript ?

Comment l'opérateur Tilde affecte-t-il les expressions conditionnelles en JavaScript ?

Susan Sarandon
Libérer: 2024-11-27 20:54:14
original
301 Les gens l'ont consulté

How Does the Tilde Operator Affect Conditional Expressions in JavaScript?

Expression conditionnelle avec opérateur Tilde précédent

En JavaScript, un opérateur tilde (~) peut précéder une expression pour effectuer une négation au niveau du bit. Lorsque vous travaillez avec des expressions conditionnelles, cet opérateur peut avoir une utilisation spécifique.

Exemple de code :

var attr = ~'input,textarea'.indexOf( target.tagName.toLowerCase() )
           ? 'value'
           : 'innerHTML'
Copier après la connexion

Explication :

La fonction indexOf() renvoie -1 si la valeur cible n'est pas trouvée. En annulant cette valeur à l'aide de l'opérateur ~, nous la convertissons effectivement en véridique (toute valeur non nulle) pour les correspondances et en fausse (-1) pour les non-correspondances.

Opération au niveau du bit :

En JavaScript, les nombres sont représentés en interne sous forme d'entiers de 32 bits. L'opérateur ~ retourne tous les bits de son opérande, les inversant ainsi.

Par exemple, si la valeur de 'input,textarea'.indexOf( target.tagName.toLowerCase() ) est 1 (représentant le caractère 'i'), sa représentation binaire serait :

0000 0000 0000 0000 0000 0000 0000 0001
Copier après la connexion

L'application de l'opérateur ~ retourne tous les bits, ce qui entraîne dans :

1111 1111 1111 1111 1111 1111 1111 1110
Copier après la connexion

La valeur résultante est -2 dans la représentation du complément à 2.

Résultat conditionnel :

Dans l'expression conditionnelle, la valeur de ~'input,textarea'.indexOf( target.tagName.toLowerCase() ) est évalué pour déterminer s'il faut attribuer une « valeur » ou 'innerHTML' à la variable attr. Si la cible est trouvée, l'expression sera évaluée comme véridique, ce qui entraînera l'attribution d'une « valeur » à attr. Sinon, si la cible n'est pas trouvée, l'expression sera évaluée comme fausse, ce qui entraînera l'attribution de « innerHTML » à attr.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal