La tarea es crear una función a partir de la string dada en el formato de función. Aquí hay algunas técnicas discutidas con la ayuda de JavaScript.
Enfoque 1:
- Use el constructor Function() para crear una función a partir de la string.
- Acepta cualquier número de argumentos (en forma de string). El último debe ser el cuerpo de la función.
- En este ejemplo, solo se pasa el cuerpo de la función que devuelve un valor.
Ejemplo 1: Este ejemplo utiliza un enfoque como se discutió anteriormente
<!DOCTYPE HTML> <html> <head> <title> create a function from a string in JavaScript </title> </head> <body style="text-align:center;" id="body"> <h1 style="color:green;"> GeeksForGeeks </h1> <p id="GFG_UP" style="font-size: 15px; font-weight: bold;"> </p> <button onclick="GFG_Fun()"> Click Here </button> <p id="GFG_DOWN" style="color:green; font-size: 20px; font-weight: bold;"> </p> <script> var up = document.getElementById('GFG_UP'); var down = document.getElementById('GFG_DOWN'); var func = 'return "This is return value";'; up.innerHTML = "Click on the button to create "+ "function from string.<br>FUNCTION - '" + func + "'"; // Till this point we can use 'func' as function. function GFG_Fun() { var func2 = Function(func); // Now 'func' can be used as function. down.innerHTML = func2(); } </script> </body> </html>
Producción:
- Antes de hacer clic en el botón:
- Después de hacer clic en el botón:
Enfoque 2:
- Utilice el método eval() para crear una función a partir de la string.
- Acepta la función en forma de string y la convierte en una función de JavaScript.
- En este ejemplo, toma 2 argumentos y devuelve la suma de ambos números.
Ejemplo 2: Este ejemplo utiliza un enfoque como se discutió anteriormente.
<!DOCTYPE HTML> <html> <head> <title> create a function from a string in JavaScript </title> </head> <body style="text-align:center;" id="body"> <h1 style="color:green;"> GeeksForGeeks </h1> <p id="GFG_UP" style="font-size: 15px; font-weight: bold;"> </p> <button onclick="GFG_Fun()"> Click Here </button> <p id="GFG_DOWN" style="color:green; font-size: 20px; font-weight: bold;"> </p> <script> var up = document.getElementById('GFG_UP'); var down = document.getElementById('GFG_DOWN'); var str = "var func = function (a, b) { return a + b; };"; up.innerHTML = "Click on the button to create "+ "function from string.<br>FUNCTION - '" + str + "'"; // Till this point we can use 'func' as function. function GFG_Fun() { // converting the string to function. eval(str); down.innerHTML = func(2, 5); } </script> </body> </html>
Producción:
- Antes de hacer clic en el botón:
- Después de hacer clic en el botón:
Publicación traducida automáticamente
Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA