Я занимаюсь разработкой в VS2005 и у меня на странице есть код JS. Я установил точку останова во время определенного цикла, где у меня возникла проблема. Вот мой маленький разговор с IDE -
? ind
/d/g
? ind.test("d")
true
? ind.test("dtn")
false
? ind.test("dtn")
true
? ind.test("dtn")
false
? ind.test("dtn")
true
? ind.test("dtn")
false
Почему тест чередуется между истиной и ложью? ind
мой RegEx - я установил его так:
case "datetime" : ind = new RegExp("d","g");break;
UPDATE
Итак, я решил свою проблему, изменив декларацию на
ind = /d/;
т.е. без глобального модификатора. Я полагаю, что
ind = RegExp("d");
будет работать одинаково хорошо.
Хотя вопрос остается. Почему глобальный модификатор вызывал test
чередование между истиной и ложью?