javascript文本模板用法實(shí)例
本文實(shí)例講述了javascript文本模板用法。分享給大家供大家參考。具體如下:
這是我參考Prism.js算法寫的一個(gè)小功能,沒(méi)什么可說(shuō)的,作為程序猿看例子應(yīng)該秒懂。
字符串模板引擎類:
/*class*/StringTemplate = function (
/* Optional {patt: RegExp, clPatt: RegExp}*/pattern) {
if (!!pattern) {
this.patt = pattern.patt;
this.clPatt = pattern.clPatt;
} else {
this.patt = /%\{\s*[\w\-]+\s*\}/g;
this.clPatt = /(^%\{\s*)|(\s*\}$)/g;
}
this.format = function(val, map) {
var ls = [];
var res;
var prevEnd = 0;
while ((res = this.patt.exec(val)) != null) {
var va = res[0];
var start = val.substr(prevEnd, res.index - prevEnd);
prevEnd = res.index + va.length;
ls.push(start);
var vac = va.replace(this.clPatt, "");
ls.push(map[vac]);
}
ls.push(val.substr(prevEnd, val.length));
return ls.join("");
}
}
使用方式:
var str = new StringTemplate().format("你好%{userName }, 歡迎再次登陸%{systemName}",{userName: "小明", systemName: "jb51"});
//str="你好小明, 歡迎再次登陸jb51";
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
相關(guān)文章
javascript網(wǎng)頁(yè)隨機(jī)點(diǎn)名實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了javascript實(shí)現(xiàn)網(wǎng)頁(yè)隨機(jī)變色及實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
JavaScript實(shí)現(xiàn)使用Canvas繪制圖形的基本教程
本篇文章主要介紹了JavaScript實(shí)現(xiàn)使用Canvas繪制圖形的基本教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-10-10
div失去焦點(diǎn)事件實(shí)現(xiàn)思路
blur只是針對(duì)form表單控件的,而對(duì)于 span , div , li 之類的,則沒(méi)辦法觸發(fā)它們的動(dòng)作,本文有個(gè)示例,看看是怎么實(shí)現(xiàn)的2014-04-04
IE8提示Invalid procedure call or argument 異常的解決方法
某臺(tái)機(jī)器上,訪問(wèn)公司的好幾個(gè)產(chǎn)品網(wǎng)站,都拋出很多 Invalid procedure call or argument ,跟進(jìn)了下,情況最后簡(jiǎn)化為2012-09-09
JavaScript中this關(guān)鍵字用法實(shí)例分析
這篇文章主要介紹了JavaScript中this關(guān)鍵字用法,結(jié)合實(shí)例形式總結(jié)分析了javascript中this關(guān)鍵字在不同條件下的指向問(wèn)題與相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
Javascript封裝DOMContentLoaded事件實(shí)例
這篇文章主要介紹了Javascript封裝DOMContentLoaded事件實(shí)例,DOMContentLoaded是FF,Opera 9的特有的Event, 當(dāng)所有DOM解析完以后會(huì)觸發(fā)這個(gè)事件,需要的朋友可以參考下2014-06-06

