1.表达式实例
在es3中,正则表达式字面量会始终共享同一个RegExp实例,而使用构造函数创建的没一个新的RegExp都是一个新的实例。
var reg = null,i;
for(i=0;i<10;i++){
reg = /java/g;
reg.test("javascript");
}
for(i=0;i<10;i++){
reg = new RegExp("java","g");
reg.test("javascript");
}
第一个循环中第一次调用test函数时会找到java,但是第二次调用从索引为3(上一次匹配的末尾)的字符开始,所以第二次就匹配不到了。
第二个循环使用构造函数在每次循环中创建正则表达式,每次都会创建一个新的RegExp实例,所以每个循环给出的结果都是true.