gpt4 book ai didi

javascript - 是否允许嵌套评估?

转载 作者:行者123 更新时间:2023-12-02 17:09:16 25 4
gpt4 key购买 nike

我正在尝试使用 eval 在我的 HTML5/JS/CSS3 项目中运行用户定义的代码。如果用户定义的代码包含 eval,那么当代码运行时,我会在 JS 控制台中收到以下错误:

Uncaught SyntaxError: Unexpected token ILLEGAL

eval(a);

带括号的下划线。有什么建议吗?

顺便说一句:我正在使用 Chrome

最佳答案

我认为当一个字符串参数位于 eval 内(而 eval 内的字符串参数又是另一个 eval 内的字符串参数)时,一个字符串中存在 ' 和 "时就会导致问题。解决方案是声明一个函数来 addshalshes,就像 php 上的函数一样.

当你尝试例如

console.log("hey you !");

当你添加 eval 时,它工作正常

eval('console.log("hey you!");');

这个也可以正常工作,但是如果你想将此代码包装在 eval 中,你应该像这样添加斜杠

eval('eval(\'console.log("hey you!");\');');

这意味着当用户输入他的代码时你总是需要添加斜杠,这个代码可能会帮助你

str = str.replace(/'/g, "\\'");

关于javascript - 是否允许嵌套评估?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24965221/

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