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

2016-11-04 18:14发布

简述

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

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

结果

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

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

7条回答
fengxiaocai - 这个人很懒,什么都没留下
1楼 · 2016-11-04 18:20.采纳回答

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

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

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

O(∩_∩)O哈哈~,鼠标来回的动作有点可爱!

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

不是bug

一周热门 更多>