// 最簡單的模板引擎實現機理,利用的是正則表達式中的replace()方法
// replace()的第二個參數可以是一個函數,這個函數的第二個參數提供捕獲的東西,就是$1
// 結合data對象,即可進行智能的替換
var templateStr = '<p>我買了一個{{thing}},花了{{money}}元,好{{mood}}</p>'
var data = {
thing: '風車',
money: 100,
mood: '開心'
}
function render(templateStr,data){
return templateStr.replace(/\{\{(\w+)\}\}/g,function(findStr,$1){
// 不能打點,不能寫成data.[$1],變量不能被對象打點
return data[$1]
})
}
var result = render(templateStr,data)
console.log(result)
簡單的模板引擎實現機理,利用正則表達式中的replace()方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.