gpt4 book ai didi

javascript - eval() 之后无法访问函数

转载 作者:行者123 更新时间:2023-11-28 12:51:40 24 4
gpt4 key购买 nike

由于某种原因,我需要使用 eval() 并访问该函数,即 foo。但是,我无法用 typescript 制作它。

eval("function foo() { console.log(\"foo bar\") }");
// @ts-ignore
foo();

上面的代码将出现错误,而不是在控制台日志中打印“foo bar”。

VM42:4 Uncaught ReferenceError: foo is not defined

您可以尝试代码here .

但是,相同的代码可以在 javascript 中工作。 .

需要额外配置吗?

最佳答案

TypeScript 隐含的“use strict”对 eval 施加了严格的限制,特别是它的 inability to create new symbols 。您需要显式返回并分配 eval 中的函数:

"use strict"

const foo = eval("function foo() { console.log(\"foo bar\") }; foo;");

foo();

关于javascript - eval() 之后无法访问函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60951075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com