1. 程式人生 > >前端自定義format函數,做字符串格式化功能

前端自定義format函數,做字符串格式化功能

函數 span body 就會 mat 正則匹配 成功 war 字符

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自定義format函數,做字符串格式化功能</title>
</head>
<body>
    <script>
        String.prototype.format = function (kwargs) {              //自定義定義format方法,這樣字符串就多了一個自定義format方法kwargs接收字符串傳來的字典
//this就是當前調用這個方法的對象xixi。this= "xixi: {age} - {gender}" // kwargs={‘age‘:18,‘gender‘: ‘男‘} var ret = this.replace(/\{(\w+)\}/g,function (km,m) { //replace通過正則匹配this裏面以{}裏面的都替換,km是匹配成功的值{age}和{gender},m是在km基礎上把裏面的分組提取到是age和gender,ret就是最後被返回的值 return kwargs[m];
//拿到18和男 }); return ret; //如果在這個函數有return的話匹配的位置就會被替換什麽 }; //需要格式化的函數 var v = "xixi: {age} - {gender}"; //v=xixi: {age} - {gender}要把{age} - {gender}格式化到{‘age‘:18,‘gender‘: ‘男‘}的指定位置 var
result = v.format({age:18,gender: }); //v.執行自定義format方法傳一個字典{‘age‘:18,‘gender‘: ‘男‘}進去,result就是格式化完成之後的值 console.log(result); //xixi: 18 - 男 </script> </body> </html>

格式化後:
xixi: 18 - 男

前端自定義format函數,做字符串格式化功能