我们都知道使用eval()
是危险的,应该永远不会被使用。但是让我们假设您可以完全控制对eval的输入,并且可以安全地使用它。
我的问题是,如果我使用eval()
生成一个函数,如下所示,然后多次调用生成的函数,这会从浏览器运行时的编译器/运行时优化中获益,例如V8吗?
eval('var myFunction = function() { return 1 * 2 / 3 }')
myFunction()
答案 0 :(得分:1)
我宁愿建议它对运行时有负面影响,因为在调用eval()
时解析函数,而不是在加载文档时解析。
Javascript引擎(如V8)的优化不受函数生成方式的影响。