javascript - 闭包中变量的性能与函数参数

标签 javascript scope

有谁知道通过函数参数传入变量与通过闭包提供变量的优化效果?似乎通过函数参数传递变量会更快,因为对象是通过引用复制的(如此快的复制时间)并且攀登函数的范围环境需要在每个级别检查环境。这是我的意思的要点

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/

相关文章:

javascript - JS/Node : Updating a JSON file with the square brackets

Ruby + Tk 命令绑定(bind) - 范围问题?

javascript - 了解闭包及其作用域

c++ - 有没有办法在 C++ 中访问外部范围内的局部变量?

javascript - 调用异步函数未按预期工作

javascript - 在浏览器关闭时单击确认对话框中的“停留在页面上”时执行方法

javascript - 如何在AngularJS中使用$event获取子元素值?

javascript - 按类型或类而不是索引获取子节点

function - 命名返回变量未在 for 循环中设置

javascript - 从其范围/功能之外重置 'this' 的值