- > var p = /abc/gi;
- > var s = "abc";
- > p.test(s);
- true
- > p.test(s);
- false;
当我在Chrome控制台上运行此代码时,我在上面输出了此输出.每次我调用’.test()’,我都会得到不同的价值.有人可以向我解释为什么会这样吗?谢谢
@H_403_6@解决方法
行为是由于“g”修饰符,即匹配三次,第四次不匹配:
- > var p = /a/gi;
- > var s = "aaa";
- > p.test(s)
- true
- > p.test(s)
- true
- > p.test(s)
- true
- > p.test(s)
- false
看到类似的问题:Why RegExp with global flag in Javascript give wrong results?
@H_403_6@ @H_403_6@