JavaScript 函数缓存
JavaScript function caching
我有 JavaScript 代码可以在运行时动态创建大量函数:
f = new Function("a", "b", "something ...");
很有可能会有很多重复的函数(意思是相同的参数,相同的主体)。
问题:
我应该实现一些缓存算法还是 JS 引擎 (V8) 在这种情况下足够聪明,可以自己完成。
附带问题:
当我在 IE 中调试时 - 它显示(在 dev.tools 中)动态创建的代码(我没有看到重复的函数 - 这表明 IE 执行此 chaching)。
你知道在 Chrome dev 中显示动态创建的代码(如上面的例子)的方法吗?工具?
谢谢!
函数是一个函数对象。所以它受制于GC。
如果您总是将它分配给同一个引用变量,那么以前的版本可能会被 GC 丢弃。
但是,您必须注意内存泄漏,因为对先前定义的函数版本的一些引用会阻止它被收集。
我有 JavaScript 代码可以在运行时动态创建大量函数:
f = new Function("a", "b", "something ...");
很有可能会有很多重复的函数(意思是相同的参数,相同的主体)。
问题: 我应该实现一些缓存算法还是 JS 引擎 (V8) 在这种情况下足够聪明,可以自己完成。
附带问题: 当我在 IE 中调试时 - 它显示(在 dev.tools 中)动态创建的代码(我没有看到重复的函数 - 这表明 IE 执行此 chaching)。 你知道在 Chrome dev 中显示动态创建的代码(如上面的例子)的方法吗?工具?
谢谢!
函数是一个函数对象。所以它受制于GC。
如果您总是将它分配给同一个引用变量,那么以前的版本可能会被 GC 丢弃。
但是,您必须注意内存泄漏,因为对先前定义的函数版本的一些引用会阻止它被收集。