Curiosidad Javascript [o "concatena en vez de sumar"]
Sábado, Febrero 13, 2010 3:57[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
var id = jQuery("#cantidad").val();
id=id+1;
al primer click me da 11
al segundo 111
al tercer 1111
Lo mismo con
var id = jQuery("#cantidad").val();
id+=1;
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.
De la manera poco elegante:
id=(id*1)+1;
o de la de caballeros:
id=parseInt(id)+1;
Esto es parte del código inservible pero útil para los que no conozcan cómo parchar el error
Saludos