最佳答案
我有一些 javascript 代码,看起来像这样:
var myClass = {
ids: {}
myFunc: function(huge_string) {
var id = huge_string.substr(0,2);
ids[id] = true;
}
}
稍后,用一些大字符串(100MB +)调用该函数。我只想保存在每个字符串中找到的一个简短 id。然而,Google Chrome 的子字符串函数(实际上在我的代码中是 regex)只返回一个“切片字符串”对象,该对象引用原始对象。因此,在一系列对 myFunc
的调用之后,我的 chrome 选项卡耗尽了内存,因为临时 huge_string
对象不能被垃圾收集。
如何复制字符串 id
,以便不维护对 huge_string
的引用,并且可以对 huge_string
进行垃圾回收?