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}))
  • 相关阅读:
    mysql索引
    mysql中的事务
    mysql的各种join连接
    java集合-LinkedList源码分析
    java集合(二)-ArrayList源码分析
    java集合(一)-集合概述
    java并发(五)-重排序、 happens-before
    vue引入百度地图 --BMap is not defined ,eslint BMap报错
    红星美凯龙前端面试内容总结
    vue父子组件钩子函数的执行顺序
  • 原文地址:https://www.cnblogs.com/mxw09/p/1878798.html
Copyright © 2011-2022 走看看