打开浏览器控制台并执行以下代码:
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实际被修改一样.
任何人都知道为什么会这样吗?