sábado, 15 de diciembre de 2007

curiosidad con la función replace de javascript

¡Hola a todos!

Volviendo a la dinámica general del blog os hago partícipes de lo que considero un bug bastante notable de javascript.

Imaginemos el script siguiente:

var strName="pepito grillo";
strName=strName.replace("illo");

¿Qué resultado esperaríais?

Pues os puedo decir cual es el resultado final jijijiji

strName="pepito grundefined"

JAJAJAJAJAJJA

Esto es debido a que la función replace consta de 2 argumentos (cadena a substituir y cadena de substitución). Al invocar la función con la ausencia del segundo parámetro, javascript toma por defecto el valor de "undefined" y lo asigna a la variable. Esto no da ningún error de motor con lo cual, si no nos damos cuenta puede causarnos más de un susto durante nuestros desarrollos... ¡así que mucho ojo compañer@s!

¡Saludos!

No hay comentarios:

Publicar un comentario