有谁知道通过函数参数传入变量与通过闭包提供变量的优化效果?似乎通过函数参数传递变量会更快,因为对象是通过引用复制的(如此快的复制时间)并且攀登函数的范围环境需要在每个级别检查环境。这是我的意思的要点
a = 5;
b = function() {
alert(a);
}
b();
对比
a = 5;
b = function(c) {
alert(c);
}
b(a);
理论上哪个执行得更快?
最佳答案
我前阵子也有同样的疑问,所以一起打了个耳光a quick'n'dirty benchmark .似乎大多数流行的浏览器(令人惊讶地)更喜欢在范围内查找(FF24 非常如此)。
我希望这能回答您的问题。
关于javascript - 闭包中变量的性能与函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18692323/