JavaScript函数缓存

JavaScript function caching

本文关键字:缓存 函数 JavaScript      更新时间:2023-09-26

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

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

很有可能会有很多重复的函数(即相同的参数,相同的函数体)。

问题:我应该实现一些缓存算法或JS引擎(V8)在这种情况下是足够聪明的做它自己。

Side-question:当我在IE中调试时-它显示(在dev. tools中)动态创建的代码(我没有看到重复的函数-这表明IE做了这个缓存)。你知道一种方法来显示动态创建的代码(如上面的例子)在Chrome开发工具?

谢谢!

Function是一个函数对象。所以它服从GC。

如果你总是把它赋值给同一个引用变量,那么以前的版本可能会被GC丢弃。

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