捕获一个 Javascript 的 Bug(或许是 Chrome 的) 财富值13?

简述

今天在做一个切割模板的功能,就是将下面这种模板,用正则表达式 /$d+$/$1$ 为分界切割为两个模板(方便一次 Ajax 加载多个模板)

<div>Hello </div> $1$ <div>World</div>

结果

如题所说,出现了 Bug,从下图可以看出,在断点的状态下,我反复获取正则判断的值,每次都不一样,因为我没刷新,所以理应说 template 的值是不变<爱尬聊_百科网>的(我也检查过,确实是一样的啊 Orz)

有没有大神给支个招,这是什么的问题?


gg2326609726 2022-08-27 15:48

如果正则表达式带有g修饰符,则每一次test方法都从上一次结束的位置开始向后匹配


喜欢我你怕了吗 2022-08-27 15:52

应该是换行符,把模板压缩一下,或者正则的多行匹配模式


风残殒落殒d 2022-08-27 15:54

http://javascript.ruanyifeng....


超爱玩的糖QAQ 2022-08-27 15:54

直接split好了,何必再费劲判断一次


双鱼座姑娘 2022-08-27 16:00

不是bug


叶男奔 2022-08-27 16:09

这个不是bug,是test, exec匹配后lastIndex位置改变的原因。参考:https://developer.mozilla.org...http://stackoverflow.com/ques...


编辑 举报 2023-04-23 16:01

0个评论

暂无评论...
验证码 换一张
相关内容