Maison >interface Web >js tutoriel >Pourquoi « 1 1 » est-il parfois égal à « 11 » en Javascript ?

Pourquoi « 1 1 » est-il parfois égal à « 11 » en Javascript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 02:24:02439parcourir

Why Does

Concaténation ou addition avec l'opérateur ( ) en Javascript

Lors de l'utilisation de l'opérateur ' ' en Javascript, il est important d'être conscient de sa double nature, car il peut être utilisé à la fois pour la concaténation et l'addition. Cela peut conduire à des résultats inattendus, par exemple lorsque vous essayez d'ajouter des nombres et d'obtenir à la place une chaîne concaténée.

Considérez le code suivant :

<p>i = 1</p>
<p>divID = "question-" + i+1;</p>

Ce code entraînerait la « question-11 ». ' étant attribué à 'divID', plutôt qu'à la 'question-2' attendue. En effet, Javascript évalue l'expression de gauche à droite et « i » est d'abord concaténé à la chaîne « question- ».

Pour éviter ce problème et effectuer correctement l'addition, utilisez des parenthèses pour appliquer l'ordre des opérations. :

<p>divID = "question-" + (i+1);</p>

Cela force Javascript à évaluer d'abord l'expression 'i 1', ce qui entraîne l'ajout de 'i' et '1', nous donnant '2'. Ensuite, cette valeur est concaténée à la chaîne « question- », ce qui donne la sortie correcte « question-2 ».

N'oubliez pas que l'opérateur « » peut effectuer à la fois la concaténation et l'addition, et que l'ordre des opérations peut impacter le résultat. Utilisez des parenthèses pour définir explicitement l'ordre des opérations lors de la combinaison de valeurs numériques et de chaînes.

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:
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