var r = /\d/g;
var a = r.test("1"); // will be true
var b = r.test("1"); // will be false
console.log(a == b); // will be false
Run Code Online (Sandbox Code Playgroud)
请向我解释为什么r.test("1")每次通话交替的结果?
通过删除g修饰符,我能够解决我遇到的问题.但是我仍然想知道为什么会这样.
pkh*_*pkh 107
当您使用时/g,正则表达式对象将在调用之间保存状态(因为您应该使用它来匹配多个调用).它匹配一次,但后续调用从原始匹配开始.
(这是Javascript正则表达式的副本,返回true ..然后为false ..然后为true ..等等)
| 归档时间: |
|
| 查看次数: |
10236 次 |
| 最近记录: |