連結字串String.prototype.format

韓師學子--胖佳發表於2019-03-19

 

                  連結字串String.prototype.format

 

轉載:https://blog.csdn.net/qq_24122593/article/details/52786432

經常需要連線字串及變數,找了一段JS的format函式:
 

String.prototype.format = function(){
    var args = arguments;
    return this.replace(/\{(\d+)\}/g,function(m,i,o,n){
        return args[i];
    });
}

var a = "I Love {0}, and You Love {1},Where are {0}!";
alert(a.format("You","Me"););

對於其中的replace中的function不明白,上網查了查,發現:

ECMAScript v3規定,replace()方法的引數 replacement 可以是函式而不是字串。在這種情況下,每個匹配都呼叫該函式,它返回的字串將作為替換文字使用。該函式的第一個引數是匹配模式的字串。接下來的引數是與模式中的子表示式匹配的字串,可以有0個或多個這樣的引數。接下來的引數是一個整數,宣告瞭匹配在 stringObject 中出現的位置。最後一個引數是 stringObject 本身。

相關文章