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 - 男

  • 相关阅读:
    第四次上机练习
    第五周上机练习
    第四周作业
    第二次上机练习
    第三周作业
    第一次上机练习
    第一次作业
    第五周上级作业
    第一次上机0.0
    java第六周作业
  • 原文地址:https://www.cnblogs.com/xixi18/p/10682718.html
Copyright © 2011-2022 走看看