js的string.format的简单示例

前端之家收集整理的这篇文章主要介绍了js的string.format的简单示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
JS代码如下:

/**
 *  js中的string.format两种调用方式
 *
 * @param 
 * @arrange (512.笔记) jb51.cc

     var template1="我是{0},今年{1}了";
     var template2="我是{name},今年{age}了";
     var result1=template1.format("loogn",22);
     var result2=template2.format({name:"loogn",age:22});

   两个结果都是"我是loogn,今年22了"
*/
String.prototype.format = function (args) {
    var result = this;
    if (arguments.length > 0) {
        if (arguments.length == 1 && typeof (args) == "object") {
            for (var key in args) {
                if (args[key] != undefined) {
                    var reg = new RegExp("({" + key + "})","g");
                    result = result.replace(reg,args[key]);
                }
            }
        }
        else {
            for (var i = 0; i < arguments.length; i++) {
                if (arguments[i] != undefined) {
                    //var reg = new RegExp("({[" + i + "]})","g");//这个在索引大于9时会有问题,谢谢何以笙箫的指出
                    var reg = new RegExp("({)" + i + "(})",arguments[i]);
                }
            }
        }
    }
    return result;
}

// 来自:编程之家 jb51.cc(jb51.cc)

猜你在找的JavaScript相关文章