Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我要在 JavaScript 中编写一个生成 JavaScript 代码(甚至解释并运行它)的应用程序,我可以使用哪些工具/框架/API?
您可以使用 eval() 运行构造的 javascript 代码:
> eval("print('hi')") hi
但是您应该非常小心执行从用户提供的输入构造的代码,因为它可以访问执行代码的环境,例如:
> x=3 3 > eval("print(x)") 3
在这种情况下,访问变量 x 并不特别重要,但您可以想象,如果执行的代码是根据用户输入构建的,它可能会访问敏感数据或对应用程序造成严重破坏。