国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

關于模板解析的經典實踐

崔曉明 / 1910人閱讀

摘要:概要摘錄的的模板的部分代碼,整理一下解析模板的思路。重點在正則的用法的掌握。

概要:摘錄的jquery的模板的部分代碼,整理一下解析模板的思路。重點在正則的用法的掌握。

分析代碼內容



Name:""
解析后代碼:
(function anonymous(obj) {
    var p = []
      , print = function() {
        p.push.apply(p, arguments);
    };
    with (obj) {
        p.push("  
"); for (i = 0; i < users.length; ++i) { p.push(" Name:"", users[i].name, " "
"); } p.push(" "); } return p.join(""); } )
解析部分
//匹配部分
str.replace(/[
	
]/g, " ")  // 將回車,換行,制表符 替換成空格,將代碼拍平
  .split("<--").join("	")     //將替換部分的開始符替換成	,不要糾結,下面會解釋為什么這么做
  .replace(new RegExp("((^|-->)[^	]*)"", "g"), "$1
")  //不以	開頭的字符(可以沒有)+"或者--> +	以外的字符(可以沒有)+" ,如果滿足條件,$1
里的$1為前面()的部分,相當于將"替換為
  .replace(new RegExp("	=(.*?)-->", "g"), "",$1,"")  // 	 為前面的<--,匹配下面模板中的 ,替換內容",$1," 即()內匹配到的users[i].name 加上前綴",和后綴,"
  .split("	").join("");")  //不符合上面規則的	即<--替換為");
  .split("-->").join("p.push("") //不符合上面規則的-->替換為p.push(");
  .split("
").join(""");   //第三行將"替換為",此處再替換回"


//模板部分
   

//<-- 變為了"); --> 變為p.push(" Name:"" //此處的"變為了" 被規則匹配為",users[i].name,"的單詞分隔符
//<-- 變為了"); --> 變為p.push("

所以有兩種用法,一種是承前啟后 <-- 變為了"); --> 變為p.push("一種是分隔字符 ",$1,"

文例子出處:JavaScript Micro-Templating

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/99758.html

相關文章

  • 假如時光倒流,我會這么學習Java

    摘要:看起來沒有集合框架,線程,等那么耀眼,但它可是很多框架的基礎啊回復反射查看相關文章,先把基礎學會,后面的得用到它。 回頭看看, 我進入Java 領域已經快15個年頭了, 雖然學的也一般, 但是分享下我的心得,估計也能幫大家少走點彎路。[入門]我在2001年之前是C/C++陣營, 有C和面向對象的基礎, 后來轉到Java ,發現沒有指針的Java真是好簡單, 另外Java 的類庫好用的讓...

    bladefury 評論0 收藏0
  • css進階

    摘要:柵格系統用于處理頁面多終端適配的問題。它表示抓取對象以后拖放到另一個位置。目前,它是標準的一部分。精簡高效的命名準則方法這篇文章發布于年月日,星期日,,歸類于相關。但是不會受到包含塊的限制,可能會溢出。 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個問題:怎樣通過 CSS 簡單而優雅的實現水平、垂直同時居中。記得剛開始學習 CSS 的時候,看到 float 屬性不由...

    import. 評論0 收藏0
  • 個人分享--web前端學習資源分享

    摘要:前言月份開始出沒社區,現在差不多月了,按照工作的說法,就是差不多過了三個月的試用期,準備轉正了一般來說,差不多到了轉正的時候,會進行總結或者分享會議那么今天我就把看過的一些學習資源主要是博客,博文推薦分享給大家。 1.前言 6月份開始出沒社區,現在差不多9月了,按照工作的說法,就是差不多過了三個月的試用期,準備轉正了!一般來說,差不多到了轉正的時候,會進行總結或者分享會議!那么今天我就...

    sherlock221 評論0 收藏0
  • Java經典

    摘要:請注意,我們在聊聊單元測試遇到問題多思考多查閱多驗證,方能有所得,再勤快點樂于分享,才能寫出好文章。單元測試是指對軟件中的最小可測試單元進行檢查和驗證。 JAVA容器-自問自答學HashMap 這次我和大家一起學習HashMap,HashMap我們在工作中經常會使用,而且面試中也很頻繁會問到,因為它里面蘊含著很多知識點,可以很好的考察個人基礎。但一個這么重要的東西,我為什么沒有在一開始...

    xcold 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<