Javascript函数绑定可能的内存泄漏?

时间:2017-01-17 01:46:06

标签: javascript memory-leaks

我希望我能为自己的情况想出一个更好的问题。

让我在代码中给出上下文。

我有这个一般功能,用于绑定不同的变化(只有大约3或4个案例)。



GeneralFunction = function(helper, paramA, paramB) {
   if (paramA == "hello") {
      return helper(paramA);
   }
   return paramB;

}




然后我有这个函数来返回一般函数的特定变体。



function getFlavorX() {
  return GeneralFunction.bind(undefined, helperX);
}




我担心的是,getFlavorX()可以多次调用(数千),根据documentation of bind,似乎每次调用bind都会创建一个 new 功能。即使是完全相同的helperX

所以我猜我有点泄漏函数对象?

1 个答案:

答案 0 :(得分:0)

我猜这个问题是有效的,但内存泄漏与否取决于代码的其余部分。因为在我的情况下,绑定的变化非常有限,我手动维护绑定函数对象的列表(我返回一个已经绑定的函数对象,而不是让用户代码在每次调用时调用bind)。