eval后的返回值

发布于 2024-10-20 06:55:47 字数 238 浏览 0 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

◇流星雨 2024-10-27 06:55:47

您想要:

call(funcName) { window[funcName](); }

并且不要使用 void 关键字。它忽略返回值并始终从语句中返回未定义。

You want:

call(funcName) { window[funcName](); }

And don't use the void keyword. It ignores return values and always returns undefined from a statement.

如日中天 2024-10-27 06:55:47

使用 eval 回答您的问题:

function someFunc() { return 'Hello, world'; }

function call(funcName) { return eval(funcName + '()'); }

console.log(call('someFunc'));

如果您信任输入,则可以使用 eval 。这是经验法则

To answer your question using eval :

function someFunc() { return 'Hello, world'; }

function call(funcName) { return eval(funcName + '()'); }

console.log(call('someFunc'));

And you can use eval if you trust the input. this is the rule of thumb

假情假意假温柔 2024-10-27 06:55:47

不要使用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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文