我试图在不使用'eval(('函数的情况下用javascript执行字符串,但我坚持了下来。这里有一个例子:
var textFunctionHolder = 'callA(15, 15, 120, 75, callB, 0, 0, 0, 0, callC, 15, 20, 240, 150, callB, 0, 0, 0, 0, callD, 30, 15, 115, 25, callZ)';
变量"0"的字符串/内容;text功能支架";是通过另一个函数生成的。对于这个例子,结果直接粘贴在var内部以简化它
现在,变量"textFunctionHolder"或更多,变量"text功能Holder"内的函数(作为字符串(应该这样执行:
callA(15, 15, 120, 75,
callB, 0, 0, 0, 0,
callC, 15, 20, 240, 150,
callB, 0, 0, 0, 0,
callD, 30, 15, 115, 25,
callZ
);
有没有一种方法可以做到这一点,而不使用eval((?(变量"textFunctionHolder"的内容也可能更长。(
我将非常感谢你的帮助。
您可以尝试这样的方法。
function test(test){
console.log(test);
}
var fnstring = "test('your params')";
const fn = new Function(`return ${fnstring}`);
console.log(fn());