当我使用String的match方法时遇到了一个奇怪的问题。使用以下代码
var str2 = " aa bb cc",
greg = /((\S)\2)/g;
greg.lastIndex = 2;
str2.match(greg);
console.log(greg.lastIndex);
在chrome中,输出结果为2,但在FF和IE中输出0。
我要问的是,是否有某些官方或标准可以说明这个问题。
感谢。
答案 0 :(得分:0)
看起来WebKit是正确的,IE和FF是错误的。来自ECMA-262 3rd Edition 15.10.6.2:
设e是r的endIndex值。
如果global属性为true,则将lastIndex设置为e。