JavaScript 函数缓存

JavaScript function caching

我有 JavaScript 代码可以在运行时动态创建大量函数:

f = new Function("a", "b", "something ...");

很有可能会有很多重复的函数(意思是相同的参数,相同的主体)。

问题: 我应该实现一些缓存算法还是 JS 引擎 (V8) 在这种情况下足够聪明,可以自己完成。

附带问题: 当我在 IE 中调试时 - 它显示(在 dev.tools 中)动态创建的代码(我没有看到重复的函数 - 这表明 IE 执行此 chaching)。 你知道在 Chrome dev 中显示动态创建的代码(如上面的例子)的方法吗?工具?

谢谢!

函数是一个函数对象。所以它受制于GC。

如果您总是将它分配给同一个引用变量,那么以前的版本可能会被 GC 丢弃。

但是,您必须注意内存泄漏,因为对先前定义的函数版本的一些引用会阻止它被收集。