Maison >interface Web >js tutoriel >Pourquoi l'ajout de chaînes en JavaScript entraîne-t-il une concaténation au lieu d'une addition numérique ?

Pourquoi l'ajout de chaînes en JavaScript entraîne-t-il une concaténation au lieu d'une addition numérique ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-24 11:14:10405parcourir

Why Does Adding Strings in JavaScript Result in Concatenation Instead of Numerical Addition?

Résolution de la concaténation inattendue de chaînes dans l'addition numérique

Problème : Lorsque vous tentez d'ajouter deux nombres représentés par des chaînes, le résultat est incorrect car ils sont concaténés au lieu d'être additionnés. Par exemple, 1 2 renvoie "12" au lieu de 3.

Extrait de code :

var y = document.getElementById("txt1").value;
var z = document.getElementById("txt2").value;
var x = y + z;

Explication : Les valeurs de y et z sont récupérés sous forme de chaînes à partir des éléments d'entrée HTML. Lorsque ces chaînes sont ajoutées à l'aide de l'opérateur « », JavaScript les traite comme du texte et les concatène au lieu d'effectuer une addition mathématique.

Solution :Pour résoudre ce problème, les chaînes doivent être converties aux nombres avant d’effectuer l’addition. Ceci peut être réalisé en ajoutant l'opérateur « » à chaque chaîne.

var x = +y + +z;

Dans ce code modifié, l'opérateur « » est utilisé pour forcer les chaînes en nombres avant qu'elles ne soient additionnées. Cela garantira que 1 2 renvoie la somme correcte de 3, plutôt que la chaîne concaténée "12".

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