eval后的返回值
function someFunc() { return 'Hello, world'; }
function call(funcName) { eval(funcName + '()'); }
console.log(call('someFunc'));
但 console.log
不会打印“Hello world”。如何在 eval
函数之后返回值?
function someFunc() { return 'Hello, world'; }
function call(funcName) { eval(funcName + '()'); }
console.log(call('someFunc'));
But console.log
doesn't print 'Hello world'. How can I return value after eval
function?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您想要:
并且不要使用
void
关键字。它忽略返回值并始终从语句中返回未定义。You want:
And don't use the
void
keyword. It ignores return values and always returns undefined from a statement.使用 eval 回答您的问题:
如果您信任输入,则可以使用 eval 。这是经验法则
To answer your question using eval :
And you can use eval if you trust the input. this is the rule of thumb
不要使用
eval
——它是邪恶的。为什么不试试这个:从名称中获取 JavaScript 函数对象作为字符串?
获得对函数,你可以简单地调用它并直接使用返回值。
Don't use
eval
-- it's evil. Why don't you try this:Get JavaScript function-object from its name as a string?
After getting a reference to the function, you can simply call it and use the return value directly.