JavaScript 字符串高級替換
■知識點
replace()方法的第2個參數(shù)是一個函數(shù),replace()方法會給它傳遞多個實參,這些實參都包含一定的意思,具體說明如下。
第1個參數(shù)表示匹配模式相匹配的文本,如示例中每次匹配的單詞字符串。
其后的參數(shù)是匹配模式中子表達式相匹配的字符串,參數(shù)個數(shù)不限,根據(jù)子表達式數(shù)而定。
后面的參數(shù)是一個整數(shù),表示匹配文本在字符串中的下標位置。
最后一個參數(shù)表示字符串自身。
■實例設(shè)計
【示例1】把18.1.6小節(jié)的示例5中替換文本函數(shù)改為如下形式:
var f = function(){
return arguments[1].toUpperCase()+arguments[2];
}
也就是說,如果不為函數(shù)傳遞形參,直接調(diào)用函數(shù)的arguments屬性,同樣能夠讀取到正則表達式中相關(guān)匹配文本的信息。
arguments[0]:表示每次匹配的文本,即單詞。
arguments[l]:表示第1個子表達式匹配的文本,即單詞的首個字母。
arguments[2]:表示第2個子表達式匹配的文本,即單詞的余下字母。
arguments[3]:表示匹配文本的下標位置,如第一個匹配單詞“javascript”的下標位置就是0,以此類推。
arguments[4]:表不要執(zhí)行匹配的字符串,這里表不 “javascript is script, is not java. ”。
點擊加載更多評論>>