es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Guardar el texto de la cadena de un script de JavaScript como variable de función para llamarla

Estoy obteniendo un script de JS desde un servidor y obtengo la siguiente cadena de retorno:

(function(e){function t(t){for(var r,a,o=t[0],c=t[1] .....

Quiero guardarlo como una variable de función para poder llamarlo (y pasar un argumento).

Intenté envolver la cadena con un return (según se sugiere aquí) y luego usar el constructor Function() para llamarlo y obtener así la función original, pero devuelve undefined.

¿Cómo puedo hacer esto?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para guardar una cadena como variable de función, puedes utilizar la función eval() para crear la función a partir de la cadena. Aquí tienes un ejemplo:

    const myFuncString = '(function(e){function t(t){for(var r,a,o=t[0],c=t[1] .....'; // cadena obtenida del servidor
    const myFunc = eval(`(${myFuncString})`); // crear función a partir de la cadena usando eval
    

    Ahora puedes llamar a myFunc y pasarle un argumento:

    const result = myFunc('mi argumento');
    

    Ten en cuenta que utilizar eval() puede ser arriesgado si no estás seguro de la fuente de la cadena que estás evaluando. Debes asegurarte de que la cadena proviene de una fuente confiable para evitar vulnerabilidades de seguridad.

Comments are closed.