关闭超过恒定值的表现

时间:2014-03-24 16:49:26

标签: javascript

在Javascript中,如果我有一个循环,并且在其中我创建了一个使用循环变量的新函数。该函数保留对循环变量的引用,因为在创建函数后该值可能会更改。

现在,假设我的循环遍历一些字符串,我的函数使用包装函数关闭CURRENT字符串。看起来像这样

for (var key in someObj) {
    (function (key) {
        someFuncList.push(function () {
            console.log(someObj[key]);
        });
    )(key)
}

这些函数中的每一个都有一个单独的键,它不能更改,因为它不存在于函数之外。编译器会对此进行优化,以便它不进行动态访问吗?它是否重要(性能明智)?是一种用某些常量“烘焙”函数的方法吗?

0 个答案:

没有答案