Llamar una función javascript desde otra usando como parámetro un string

publicado por: Anonymous

Quisiera invocar una función en javascript donde pueda enviar como parámetro otra función y que se pueda ejecutar, por ejemplo.

function uno ('function dos('parametro_1','parametro_2')')
//-------
function uno (parametro)
{
   self[parametro]();
}

El error que arroja es

TypeError: self[func] is not a function selffunc;

No sé si eso es posible.
Saludos!

solución

Invocar una función en javascript donde pueda enviar como parámetro
otra función y que se pueda ejecutar.

Es posible de varias formas, una de ellas es guardando la función en una variable.

_x000D_

_x000D_

var fun1 = Function("a", "b", "return a * b");_x000D_
var fun2 = (a,b)=>a*b;_x000D_
var fun4 = function(a,b){return a*b;};_x000D_
_x000D_
function ejecuta (parametro)_x000D_
{_x000D_
   console.log(parametro(2,4))//<-- ejecutamos_x000D_
}_x000D_
_x000D_
ejecuta(fun1)_x000D_
_x000D_
ejecuta(fun2)_x000D_
_x000D_
ejecuta(fun4)_x000D_
_x000D_
ejecuta(Function("a", "b", "return a * b"))

_x000D_

_x000D_

_x000D_

Usando específicamente self

_x000D_

_x000D_

var otra_funcion = function(){console.log([...arguments].reduce((a,c)=>a+c))}_x000D_
_x000D_
var nombre = "otra_funcion";_x000D_
_x000D_
self[nombre](2,4);_x000D_
_x000D_
self[nombre](2,4,10);_x000D_
_x000D_
self[nombre](2,4,10,2);_x000D_
_x000D_
self[nombre]("hola");_x000D_
_x000D_
self[nombre]("hola ", "que ", "tal");

_x000D_

_x000D_

_x000D_

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *