打开浏览器控制台并执行以下代码:
var foo = /foo/g;
Run Code Online (Sandbox Code Playgroud)
然后,
foo.test("foo") // true
Run Code Online (Sandbox Code Playgroud)
然后,
foo.test("foo") // false
Run Code Online (Sandbox Code Playgroud)
如果继续执行foo.test("foo"),您将看到交替的真/假响应,就好像var foo实际被修改一样.
任何人都知道为什么会这样吗?
the*_*tem 15
是的,这就是正则表达式是全局的时候.test()和.exec()工作方式g.他们从最后一场比赛结束开始.
您可以使用该.lastIndex属性观察正则表达式对象上的当前最后一个索引.
它是一个可写属性,因此您可以0在需要时将其重置为.运行正则表达式而未找到匹配项时,它会自动重置为0.
| 归档时间: |
|
| 查看次数: |
628 次 |
| 最近记录: |