有没有办法从带有 javascript 的字符串创建箭头函数?
Is there a way to create an arrow function from a string with javascript?
这样的 JSON 响应:
res = {
onChange: "() => { console.log() }",
.....
}
如何使res.onChange中的字符串成为箭头函数。
res.onChange = Function("() = { console.log()}");
不要解决我的问题。
您可以使用 eval
将字符串作为代码执行。
eval("() => { console.log('no') }")();
或者如果您需要一些字符串插值:
const foo = 'bar';
eval(`() => { console.log('${foo}') }`)();
小心恶意注入
编辑:OP,你应该能够从这里推断出你需要做什么。
您可以使用 String.prototype.replace()
:
res.onChange = new Function(res.onChange.replace(/\(\)\s=>\s\{|\}$/,""))
这样的 JSON 响应:
res = {
onChange: "() => { console.log() }",
.....
}
如何使res.onChange中的字符串成为箭头函数。
res.onChange = Function("() = { console.log()}");
不要解决我的问题。
您可以使用 eval
将字符串作为代码执行。
eval("() => { console.log('no') }")();
或者如果您需要一些字符串插值:
const foo = 'bar';
eval(`() => { console.log('${foo}') }`)();
小心恶意注入
编辑:OP,你应该能够从这里推断出你需要做什么。
您可以使用 String.prototype.replace()
:
res.onChange = new Function(res.onChange.replace(/\(\)\s=>\s\{|\}$/,""))