Maison > interface Web > js tutoriel > le corps du texte

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

Susan Sarandon
Libérer: 2024-11-27 20:54:14
original
215 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!

source:php.cn
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