JS - 将多个嵌套函数作为带参数的字符串执行

问题描述

我试图在不使用 'eval()' 函数的情况下在 javascript 中执行一个字符串,但我坚持了下来。 举个例子:

var textFunctionHolder = 'callA(15,15,120,75,callB,callC,20,240,150,callD,30,115,25,callZ)';

变量“textFunctionHolder”的字符串/内容是通过另一个函数生成的。 在这个例子中,结果直接粘贴在var里面以简化它。

现在,变量 'textFunctionHolder' 或更多变量,变量 'textFunctionHolder' 内的函数(作为字符串)应该像这样执行:

callA(15,callZ
);

有没有办法在不使用 eval() 的情况下做到这一点? (变量“textFunctionHolder”的内容也可以更长。)

非常感谢您的帮助。

解决方法

你可以试试这样的。

 function test(test){
        console.log(test);
    }
    
    
    var fnstring = "test('your params')";
    
    const fn =  new Function(`return ${fnstring}`);
    console.log(fn());

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...