zoukankan      html  css  js  c++  java
  • 自己改写的String.Format方法

    String.Format = function(str) {
                var reg;
                var args;
                //自定义一个undifined,增快速度
                var undifined;
                if (arguments[1] && typeof (arguments[1]) == "object") {
                    reg = new RegExp("\\{([^\\d]\\w*)\\}", "g");
                    args = arguments[1];
                }
                else {
                    reg = new RegExp("\\{(\\d+)\\}","g");
                    //将arguments转换成数组然后赋值给args
                    args = Array.prototype.slice.call(arguments);
                    for(var i=0;i<args.length-1;i++)
                    {
                        args[i]=args[i+1];
                    }
                    //将args的第一个值移除,因为第一个值是需要被正则匹配的字符串
                    args[i]=undifined;
                }
            
                return str.replace(reg, function() {                 
                    var val = args[arguments[1]];
                    return val == undifined ? arguments[0] : val;
                });
            };     
            alert(String.Format("{0},{1},{2}","aa","bb"))
            alert(String.Format("{aa},{bb}",{aa:123,bb:456}))
  • 相关阅读:
    PSP总结报告
    final版——爱阅APP功能说明书
    软件工程第十一次作业-例行报告
    感谢
    互评Beta版本——王者荣耀交流协会的PSP DAILY作品
    软件工程第十次作业-例行报告
    Beta版——爱阅APP功能说明书
    软件工程第九次作业-例行报告
    软件工程第八次作业-例行报告
    shell-条件分支循环
  • 原文地址:https://www.cnblogs.com/mxw09/p/1878798.html
Copyright © 2011-2022 走看看