首頁  >  問答  >  主體

html - 捕获一个 Javascript 的 Bug(或许是 Chrome 的)

简述

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

<p>Hello </p>
$1$
<p>World</p>

结果

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

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

阿神阿神2728 天前233

全部回覆(5)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-10 17:44:53

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

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-10 17:44:53

    不是bug

    http://javascript.ruanyifeng....

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

    回覆
    0
  • 怪我咯

    怪我咯2017-04-10 17:44:53

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

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 17:44:53

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

    回覆
    0
  • 迷茫

    迷茫2017-04-10 17:44:53

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

    回覆
    0
  • 取消回覆