JavaScript实现类似Python的字符串占位符

问题描述

使用jQuery向页面添加元素时需要拼接HTML,当HTML中含有"之类的信息时,手动拼接极度容易出错,若有类似Python的.format()函数就方便多了

print('<button type="submit" value={}>今天</button>'.format('"/inform{"time": "今天"}"'))
# <button type="submit" value="/inform{"time": "今天"}">今天</button>




解决方案

  1. 定义函数,String.prototype.format
  2. 添加转义字符




代码

/*字符串占位符*/
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;
    }
};




效果

输入

'<button type="submit" value={0}>今天</button>'.format('"/inform{"time": "今天"}"')

输出

"<button type="submit" value="/inform{"time": "今天"}">今天</button>"




参考文献

  1. JS字符串使用占位符轻松实现拼接
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章