Do not speak Spanish? Read this post in English.

Lunes, 16 d marzo d 2009.

Reemplazar partes de funciones javascript

Hemos visto como Reescribir funciones en javascript pero a veces reescribir una función entera no es lo más adecuado. Actualmente me encuentro con la necesidad de alterar ciertas partes de funciones enormes que son llamadas como servicios web con sus variables y sesiones. En definitiva, que esas funciones ni siquiera son siempre iguales para cada usuario que las carga.

Para solucionar estos problemas he creado una función que es capaz de reemplazar parte de los textos de las funciones sin alterar el resto de la definición. Dejo aquí el código:

replaceInFunction = function ( functionName, search, replace)
{
	theFunction = eval(functionName).toString();
	eval( functionName + "= function " + theFunction.substring(theFunction.indexOf("(")).replace(search,replace) );
}

Esta función nos da 3 argumentos para usarla:

  • functionName : es el nombre de nuestra función, la que queremos alterar.
  • search : el fragmento buscado
  • replace : el texto por el que se reemplazará

Para hacer el reemplazo se usa la función replace() así que no debería dar demasiados problemas a nadie.

Un ejemplo de su uso...

// definimos la función...
function showMe ( variable )
{ 
	document.write( variable );
}

showMe("hello world"); 
// --> escribe "hello world" en pantalla

replaceInFunction("showMe","document.write","alert"); 

showMe("hello world"); 
// --> lanza un alert que diga "hello world"

Temas Relacionados: jquery

Autor:

Un Comentario para “Reemplazar partes de funciones javascript”

  1. Pedro dice:

    Muy interesante el código. Ya lo estoy usando. gracias :-)

Anímate y deja tu comentario

Esto son experimentos, no preguntes ;) prueba metadescription Juego Prueba title