zoukankan      html  css  js  c++  java
  • JavaScript(js)的replace问题的解决

    我是前端的门外汉,js我用得比较少。今天意外发现js自带的replace “居然”只替换1处,而其它的许多许多语言都是替换全部的。
    你可能会说,切,我早就知道。高手请绕道。
    你可能会说,用js的正则就可以解决这个问题。对,没错,但敝人有“不轻易使用正则”的癖好。
    于是想出一个办法,既然js你只帮我做一次,我就循环让你做多次,代码别人都写好了:
    function ReplaceAll(str, sptr, sptr1){
       while (str.indexOf(sptr) >= 0){
          str = str.replace(sptr, sptr1);
       }
       return str;
    }
    

    好高兴,找到了解决办法。但是贴这段代码的上面写着“我觉得不靠谱”,下面又举了一个例子: ReplaceAll(a, 'b', 'bc') 会死循环。我汗!不用运行我都能知道这样传肯定会死循环。失望。后来,我自己想了一个办法:

    function replaceAll(str, sptr, sptr1) {
        var ps = str.split(sptr);
        var s2 = ps.join(sptr1);
        return s2;
    }
    

    贴上来供各位高手看看这种办法是否有缺陷。

    我就当作是写备忘录。

  • 相关阅读:
    将图片转换为base64 格式
    BFC
    面试
    不足之处
    html 调用摄像头 并抓拍
    css,js零散知识的整理
    语义化标签SEO
    Modernizr
    快速排序(2)
    快速排序(1)
  • 原文地址:https://www.cnblogs.com/BillySir/p/4566718.html
Copyright © 2011-2022 走看看