闭包中的变量性能与函数参数的关系

elj*_*lju 9 javascript scope

有没有人知道通过函数参数传递变量的优化效果与通过闭包获得变量?似乎通过函数参数传递变量会更快,因为对象是通过引用复制的(如此快速的复制时间),并且爬上函数的范围环境需要检查每个级别的环境.这是我的意思的要点

a = 5;
b = function() {
  alert(a);
}
b();
Run Code Online (Sandbox Code Playgroud)

a = 5;
b = function(c) {
  alert(c);
}
b(a);
Run Code Online (Sandbox Code Playgroud)

哪个在理论上表现得更快?

ant*_*ris 5

我不久前有同样的问题,所以我把一个快速的基准了一顿.似乎大多数流行的浏览器(令人惊讶地)更喜欢在范围内查找(FF24非常如此).

我希望这回答了你的问题.