JavaScript 占位符处理 替换 格式化

很多时候我们在JavaScript里面拼接一些html元素,直接是字符串拼接,涉及到很多双引号、单引号问题,慢慢就会感觉很麻烦,可读性也大大降低,拼接过程中还容易出错。我们为什么不借鉴一下Java里面或者Python里面的字符串格式化呢?

代码

String.prototype.format = function() {
    if (arguments.length == 0) return this;
    var param = arguments[0];
    var s = this;
    if (typeof(param) == 'object') {
        for (var key in param) s = s.replace(new RegExp("\\{" + key + "\\}", "g"), param[key]);
        return s;
    } else {
        for (var i = 0; i < arguments.length; i++) s = s.replace(new RegExp("\\{" + i + "\\}", "g"), arguments[i]);
        return s;
    }
}

调用示例

对象方式

var cameraName = "id='{id}'  class='{class}'";

var  param={id:"cm1",class:"newClass"}
console.log(cameraName.format(param));

数组方式

var cameraName = "id='{0}'  class='{1}'";

var  param=["cm1","newClass"]
console.log(cameraName.format(param));

results matching ""

    No results matching ""