疑问:
1.书上说第一问中第一段程序中实例属性不会重置,所以在第二次测试的时候会报错,但是实验证明没有错,求解~
答于2013/11/25:
经过验证,两种方式都会新建实例,然后都会从头开始找,如果是
re = /cat./g;
re = new RegExp("cat\\w");这样新建在循环外面,就是只实例化一次的话,是会有区别的,设置了/g就是全局搜,不设的话,每次都从头开始搜索
比如对于re.exec(“catdcate”); 第一个循环两次分别是catd和cate,第三次就是null了,而第二个无论循环多少次都是catd
第一问:第五章,第四节
5.4 P105
var re = null,
i;
for(i = 0;i<10;i++)
{
re = /cat/g;
re.test("catalogs");
}
for(i = 0;i<10;i++)
{
re = new RegExp("cat","g");
re.test("catalogs");
}