Javascript 是否允许嵌套求值?

Javascript 是否允许嵌套求值?,javascript,html,web,eval,Javascript,Html,Web,Eval,我正在尝试使用evals在我的HTML5/JS/CSS3项目中运行用户定义的代码。如果用户定义的代码包含eval,则在代码运行时,JS控制台中会出现以下错误: Uncaught SyntaxError: Unexpected token ILLEGAL 在 括号加下划线。有什么建议吗 顺便说一句:我使用的是Chrome,我认为问题是当一个字符串中有“and”时引起的,当一个字符串参数在eval中时,它是另一个eval中的字符串参数。解决方法是声明一个函数来添加shalsh,就像php上的函数一

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

Uncaught SyntaxError: Unexpected token ILLEGAL

括号加下划线。有什么建议吗


顺便说一句:我使用的是Chrome,我认为问题是当一个字符串中有“and”时引起的,当一个字符串参数在eval中时,它是另一个eval中的字符串参数。解决方法是声明一个函数来添加shalsh,就像php上的函数一样

例如,当你尝试

console.log("hey you !");
当您添加eval时,它工作正常

eval('console.log("hey you!");');
这一个也可以很好地工作,但是如果你想把这段代码包装在一个eval中,你应该像这样添加斜杠

eval('eval(\'console.log("hey you!");\');');
这意味着当用户输入他的代码时,您总是必须添加斜杠,这段代码可能会帮助您

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

对我来说很有用。很可能您遇到了转义问题。由于内部eval中的字符串被解析了两次,因此必须转义两次。
var a=“eval(\'alert(\\\'Foobar\\\”)”);
str = str.replace(/'/g, "\\'");