后端返回一个字符串方法,前端如何调用呢?

那年
  • 103

前端拿到后端返回的 这样一个字符串的方法,请问如何调用这个function呢
image.png

回复
阅读 1.1k
3 个回答
✓ 已被采纳

就事论事,可以用 eval(...) 来实现,比如说:

let formulaStr = "function calc(){ return 1 + 1; }";
let result = eval(`(${formulaStr})()`);

console.log(result); //2

但是,我很好奇这是什么样的业务场景才会有这么怪的...实现方式?

let str = 'function test(){return ##金额##.toFixed(3);}';
let params ={money:6};
str = str.replaceAll('##金额##','params.money');
new Function(str+';return test()')();
//'6.000'

eval((${formulaStr})())

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏