zoukankan      html  css  js  c++  java
  • 前端自定义format函数,做字符串格式化功能

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>自定义format函数,做字符串格式化功能</title>
    </head>
    <body>
        <script>
            String.prototype.format = function (kwargs) {              //自定义定义format方法,这样字符串就多了一个自定义format方法kwargs接收字符串传来的字典
                //this就是当前调用这个方法的对象xixi。this= "xixi: {age} - {gender}"
                // kwargs={'age':18,'gender': '男'}
                var ret = this.replace(/{(w+)}/g,function (km,m) {  //replace通过正则匹配this里面以{}里面的都替换,km是匹配成功的值{age}和{gender},m是在km基础上把里面的分组提取到是age和gender,ret就是最后被返回的值
                    return kwargs[m];                                  //拿到18和男
                });
                return ret;                                            //如果在这个函数有return的话匹配的位置就会被替换什么
            };
    
            //需要格式化的函数
            var v = "xixi: {age} - {gender}";                          //v=xixi: {age} - {gender}要把{age} - {gender}格式化到{'age':18,'gender': '男'}的指定位置
            var result = v.format({'age':18,'gender': ''});          //v.执行自定义format方法传一个字典{'age':18,'gender': '男'}进去,result就是格式化完成之后的值
            console.log(result);                                       //xixi: 18 - 男
        </script>
    </body>
    </html>

    格式化后:
    xixi: 18 - 男

  • 相关阅读:
    求最大的矩形(悬线法)
    限制不互素对的排列(构造)
    括号(构造)
    G. 4.奶牛(二进制枚举)
    新飞行棋(上楼梯)
    小天狼星的访问
    欧拉筛线性筛法,约数和和约数个数
    Find The Multiple
    How Many O's? UVA
    GCD LCM UVA
  • 原文地址:https://www.cnblogs.com/xixi18/p/10682718.html
Copyright © 2011-2022 走看看