在我的對象中有funciton被定期調用。javascript string exec奇怪的行爲
parse : function(html)
{
var regexp = /...some pattern.../
var match = regexp.exec(html);
while (match != null)
{
...
match = regexp.exec(html);
}
...
var r = /...pattern.../g;
var m = r.exec(html);
}
用不變的html m
返回null對方的呼叫。讓我們說
parse(html);// ok
parse(html);// m is null!!!
parse(html);// ok
parse(html);// m is null!!!
// ...and so on...
是那裏有html
被重置任何指數或somrthing ...我真的很困惑。爲什麼match
總是返回正確的結果?
是的,我懷疑這樣的事情,但這些正則表達式變量沒有被gc-ed和重置?我相信每次我調用parse()時,都應該初始化新範圍。 – Pablo 2010-05-11 02:34:19
@Michael,看看我的編輯... – CMS 2010-05-11 04:41:41