1.string.replace常用來(lái)通過(guò)正則表達(dá)式來(lái)替換字符串的某個(gè)或某些字符,形成一個(gè)新的字符串,例如:


2.其實(shí)它還有更強(qiáng)大的功能,那就是模板編譯,此時(shí)需要傳入一個(gè)回調(diào)函數(shù)作為其第二個(gè)參數(shù),第一個(gè)參數(shù)仍然為一個(gè)正則表達(dá)式,例如
let template='<div data-id={{id}}>{{name}}</div>';
let newstr=template.replace(/\{\{(\w+)\}\}/g,function(node,key){
console.log('key',key)//匹配到的模板中的變量名
console.log('node',node)//匹配到的內(nèi)容
return {
name:'june',
id:1
}[key]
})
console.log(newstr) //編譯后的模板
控制臺(tái)結(jié)果如下:

浙公網(wǎng)安備 33010602011771號(hào)