1. 程式人生 > >JS自定義字符串格式化函數

JS自定義字符串格式化函數

定義 proto nihao bubuko -s 參數 cti 沒有 inf

python的字符串格式化

test = name: {name} age: {age}
print(test.format(name=zq,age=22))
輸出: name: zq age: 22

JS裏沒有這種方式,但可以自定義一個類似的方法

<script>
    //自定義字符處理函數---- 字符串替換格式化
    String.prototype.format = function (kwargs) {
        console.log(this) // this表示調用這個函數的字符串對象 String {"nihao:{name}-{age}"}
// 正則表達式是在/ /內表示, 正則後的g表示去this裏面匹配所有的字符(執行全局匹配(查找所有匹配而非在找到第一個匹配後停止)) i表示執行對大小寫不敏感的匹配 m表示執行多行匹配 var ret = this.replace(/\{(\w+)\}/g,function (k,m) { //k表示匹配到的字符串,m表示匹配到的分組裏的值,在正則中用()表示一個分組 console.log(k,m); //{name} name return kwargs[m] // 把匹配到的字符串用參數的值替換 });
return ret; //把替換完的字符串返回 }; text = "nihao:{name}-{age}"; result = text.format({‘name‘:‘zq‘,‘age‘:21}); console.log(result); // nihao:zq-21
</script>

技術分享圖片

JS自定義字符串格式化函數