Javascript 评估功能、评估后的性能
我们都知道守则:Javascript 评估功能、评估后的性能,javascript,Javascript,我们都知道守则: var ssum = function(a,b) { return a+b; } 执行速度比 eval("var esum = function(a,b) { return a+b; } "); 原因很多 我想知道的是,如果一个函数是通过求值字符串创建的,那么它的性能会比一个函数差 对于上面的例子,它意味着:esum(1,1)会比ssum(1,1)慢吗 我想要一个答案,告诉我这是否取决于浏览器的实现 (如果是,原因是什么)以及性能是否取决于eval ed函数引用的变量 非
var ssum = function(a,b) { return a+b; }
执行速度比
eval("var esum = function(a,b) { return a+b; } ");
原因很多
我想知道的是,如果一个函数是通过求值字符串创建的,那么它的性能会比一个函数差
对于上面的例子,它意味着:esum(1,1)会比ssum(1,1)慢吗
我想要一个答案,告诉我这是否取决于浏览器的实现
(如果是,原因是什么)以及性能是否取决于eval ed函数引用的变量
非常感谢,,
Lx一旦js代码被求值,它就会被转换成javascript(“javascript本机”或“编译”)代码(在您的例子中,情况并非总是如此,因为求值会求值一个表达式,其结果可能是一个数字) 之后,它们是普通的“ol”javascript对象(函数或其他)。所以两者之间应该没有区别 即使是规范(第10.4.2节)也没有提到这种情况