JavaScript:用局部变量替换param?

时间:2016-04-30 01:24:30

标签: javascript performance

如果我有这样的功能:

.factory("AuthData", [
function () {
  var ref = new Firebase("https://buzzmovieionic.firebaseio.com");
  var data = null;
  ref.onAuth(function (authData) {
    if (authData) {
      data = authData;
    }
    else
      data = null;
  });
  return data;
}
])

...如果我在处理其项目之前将b分配给该函数内的局部变量,那么它是不是更友好?

function xyz(b)
{
    for(var i = 0; i < b.length; i++)
    {
        // do something with b items...
    }
}

1 个答案:

答案 0 :(得分:2)

在您的示例中,bc都是局部变量,因为它们只存在于函数中。所以你的代码实际上会有点低效。

旁注 - 如果您希望代码更高效,则应仅为整个for循环计算c.length一次。在您的示例中,您将为循环的每次迭代计算它。相反,你可以这样做:

for (var i = 0, cLen = c.length; i < cLen; i++)

这样它在开始循环之前只计算一次。