[En realidad no es una curiosidad sino que un error de lógica de programación]
Estoy armando un código para un generador… sí, a las 4AM., y me apareció la siguiente curiosidad en Javascript:
considerando que tengo un textbox con el nombre cantidad que comienza con un 1 como valor
[sourcecode=”JScript”]
var id = jQuery(“#cantidad”).val();
id=id+1;
[/sourcecode]
al primer click me da 11
al segundo 111
al tercer 1111
Lo mismo con
[sourcecode=”javascript”]
var id = jQuery(“#cantidad”).val();
id+=1;
[/sourcecode]
La explicación, muy fácil, el valor id es un String, y lo que hace el + es concatenar el valor en vez de sumarlo.
La solución, aún más fácil, convertir el String en Int. ivermectina bebidas alcohólicas
De la manera poco elegante:
[sourcecode=”javascript”]
id=(id*1)+1;
[/sourcecode]
o de la de caballeros:
[sourcecode=”javascript”]
id=parseInt(id)+1;
[/sourcecode]
Esto es parte del código inservible pero útil para los que no conozcan cómo parchar el error 😛
Saludos
4 repuestas a “Curiosidad Javascript [o "concatena en vez de sumar"]”
Interesante tip, lo acabo de aplicar en una solución rasca que había implementado, gracias!
gracias por el tip por q lo había olvidado hace ya un par de años que no programo en javascript y ps la memoria en algunos momentos falla..prefiero la manera poco elegante es la que mas fácilmente recuerdo jajaja
cree un codigo, a la hora de sumar convierto los números con parseInt pero sigue concatena
usare la de no caballera, por que al sumar estos campos me da una NaN