为什么在 chrome 里, eval 函数不能镶嵌运行呢?也就是 eval 里的代码,有第二层的 eval,然后又有第三层的 eval.

2016-07-31 00:20:25 +08:00
 3dwelcome

我是在 ajax 的回调函数里调用 eval 运行所需要的 js 代码,偶然中发现,回调代码中有第二层的 eval ,会导致第二层的 javascript 让 chrome 无法识别?

很奇怪的限制,猜想也许和 V8 有关,不知道别的浏览器如何,没试过,呵呵。

3320 次点击
所在节点    JavaScript
3 条回复
franklinyu
2016-07-31 00:29:44 +08:00
比如說 eval('3 + eval("5 + 1")') 這樣的麼?我的 Chrome 出來是 9 ,看起來沒錯。
3dwelcome
2016-07-31 00:35:51 +08:00
要运行一点复杂的调用代码、比如额外的函数框架调用之类的。
cevincheung
2016-07-31 08:06:37 +08:00
eval('3 + eval(eval(\'1+1\')+2)')
7

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/296081

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX