奇怪的Chrome JavaScript表达式行为
我在chrome JavaScript控制台中发现了一些奇怪的行为。这怎么可能呢 开始是奇怪的Chrome JavaScript表达式行为,javascript,google-chrome,google-developer-tools,Javascript,Google Chrome,Google Developer Tools,我在chrome JavaScript控制台中发现了一些奇怪的行为。这怎么可能呢 开始是5 单词是/[\w$]+/g z是“z” 这与温度有关。感谢@VLAZ发现这一点 具体来说,全局标志是有状态的。问题是代码在同一个会话中多次运行,但RegExp的状态正在更改 全局有状态RegExp的想法似乎是它永远不会两次匹配字符串的同一部分。单词的regex是什么?什么是值?编辑以包含额外信息“word is/[\w$]+/g”-在这种情况下,请查看我发布的链接。全局正则表达式是有状态的-运行。多次测试将
5
单词是/[\w$]+/g
z是“z”
这与温度有关。感谢@VLAZ发现这一点
具体来说,全局标志是有状态的。问题是代码在同一个会话中多次运行,但RegExp的状态正在更改
全局有状态RegExp的想法似乎是它永远不会两次匹配字符串的同一部分。单词的regex是什么?什么是值?编辑以包含额外信息“word is
/[\w$]+/g
”-在这种情况下,请查看我发布的链接。全局正则表达式是有状态的-运行。多次测试将产生不同的结果。好吧,哇,这真是令人惊讶。我自己来回答。
start && word.test(z)
=> false
(start && word.test(z))
=> true
start && (word.test(z))
=> false