Javascript 頁面模板化很多人沒有使用過的方法
比如以下的代碼——摘自新浪首頁的一段js代碼,這種方式也是大多數(shù)人使用的方式。

上面的代碼,你看完有什么反應(yīng)?你也許會(huì)把+=這種形式改成數(shù)組的push形式,有人說push比這種字符鏈接要快,但是也快不了多少。
如果這種嵌入的html代碼很多,你也要這樣處理嗎?如果修改(添加或者刪除)某個(gè)html,那么你就要不斷的翻代碼,找對(duì)應(yīng)的標(biāo)簽,然后在找結(jié)束標(biāo)簽,你不覺得麻煩嗎?也許有人會(huì)這樣寫(這個(gè)是我早期寫的,也是我最慣于使用的方式)。

上面的代碼,我維護(hù)起來也是非常費(fèi)勁的,很多時(shí)候如果ui那邊添加了個(gè)標(biāo)簽,或者修改了下html結(jié)構(gòu),那我就頭疼了。 
頁面模板化——全新的方式
這是我最近看了facebook的js代碼,偶然間發(fā)現(xiàn)以下的方式看起來不錯(cuò),希望與大家分享。
看我的index.html代碼

看我的js代碼

維護(hù)上面的html代碼我們是很容易的,下次無論html代碼結(jié)構(gòu)有什么變動(dòng),改起來都很方便。

總結(jié)
上面的代碼有很多問題,大家不要見怪,這個(gè)只是我的簡(jiǎn)易版。
當(dāng)前的模板只支持簡(jiǎn)單的變量替換,有很多功能未開發(fā)出來,比如if標(biāo)簽,for標(biāo)簽,如果大家有興趣,可以試著做一下,如果做的比較成功,告知一下。如果能做個(gè)類似smarty的開源框架,呵呵,咱們也可以為開源事業(yè)做點(diǎn)貢獻(xiàn)不是。
作者:穿山甲
相關(guān)文章
javascript 數(shù)組排序函數(shù)sort和reverse使用介紹
reverse方法將一個(gè)Array對(duì)象中的元素位置進(jìn)行反轉(zhuǎn),sort方法返回一個(gè)元素已經(jīng)進(jìn)行了排序的 Array 對(duì)象,下面為大家介紹下2013-11-11
Javascript 阻止javascript事件冒泡,獲取控件ID值
Javascript學(xué)習(xí)日記-阻止javascript事件冒泡,獲取控件ID值2009-06-06
微信小程序使用自定義組件導(dǎo)航實(shí)現(xiàn)當(dāng)前頁面高亮
這篇文章主要介紹了微信小程序使用自定義組件導(dǎo)航實(shí)現(xiàn)當(dāng)前頁面高亮,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
js實(shí)現(xiàn)按一下刪除鍵刪除整個(gè)單詞附demo
使用代碼實(shí)現(xiàn)當(dāng)刪除單詞時(shí)就一次性刪除整個(gè)單詞,有個(gè)demo,相信大家看過之后就知道是什么意思了2014-09-09
JavaScript–Apple設(shè)備檢測(cè)示例代碼
JavaScript–Apple設(shè)備檢測(cè)示例代碼。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-11-11
el-input 標(biāo)簽中密碼的顯示和隱藏功能的實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了el-input 標(biāo)簽中密碼的顯示和隱藏 ,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07

