1.模板引擎
百度百科:模板引擎(這里特指用于Web開發的模板引擎)是為了使 用戶界面與業務數據(內容)分享而產生的,它或以生成特定格式的文檔,用于網站的模板引擎就會產生一個標準的HTML文檔.
目的:生成一個標準的HTML文檔.
概念:模板引擎不屬于特定技術領域,它是跨領域跨平臺的概念.在Asp下有模板引擎,在PHP下也有模板引擎,在c#下也有模板引擎,基礎javascript,winform開發都會用到模板引擎技術.
原理:模板引擎的實現方式有很多,最簡單的是"轉換型"模板引擎,這類模板引擎只是將指定模板內容(字符串)中特定標記(子字符串)替換一下便生成了最終需要的業務數據(比如網頁).
轉換型模板引擎實現簡單,但其效率低下,無法滿足高負載的應用需求(比如有少量訪問珠網站),因此還出現了"解釋型"模板引擎和"編譯型"模板引擎等.
模板引擎可以讓(網站)程序實現界面與數據分享,這就大大提升了開發效率,良好孤設計也使得代碼重用變得更加容易.
我們司空見慣的模板安裝卸載等概念,基本上都和模板引擎有關千絲萬縷的聯系.模板不只是可以讓你實現代碼分離(業務邏輯代碼和用戶界面代碼),也可以實現數據分離(動態數據和靜態數據),還可以實現代碼單元共享(代碼重用),基至是多語言,動態頁面和靜態頁面自動均衡(SDE)等等與用戶界面可能沒有關系的功能.
相關推薦:
Smarty:Smarty的特點是將模板編譯成PHP腳本,然后執行這些腳本。很快,非常靈活。是一個模板類,一般也簡稱為模板。Smarty里面有專門的模板引擎。模板的主要功能就是邏輯與顯示的分離,也就是PHP和HTML的分離。
Heyes Template Class:一個非常容易使用,但功能強大并且快速的模板引擎,它幫助你把頁面布局和設計從代碼中分離。
FastTemplate:一個簡單的變量插值模板類,它分析你的模板,把變量的值從HTML代碼中分離處理。
ShellPage:一個簡單易用的類,可以讓你的整個網站布局基于模板文件,修改模板就能改變整個站點。
STP Simple Template Parser:一個簡單、輕量級并且易于使用的模板分析類。它可以從多個模板中組裝一個頁面,把結果頁面輸出到瀏覽器或者文件系統。
OO Template Class:一個你可以用在自己程序中的面向對象的模板類。
SimpleTemplate:一個可以創建和結構化網站的模板引擎。它可以解析和編譯模板。
?
2.Json
百度百科:JSON(javascript object notation)是一種輕量級的數據交換格式.它基于ECMAScript的一個子集.json采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C,C++,C#,Java,JavaScript,Perl,Python等).這些特性使json成為理想的數據交換語言.易于人閱讀和編寫,同時民易于機器解析和生成(一般用于提升網絡傳輸速率).
json語法是javascript對象表示語法的子集,數據在鍵值對中,數據由逗號分隔,花括號保存對象,方括號保存數組.
json數據的書寫格式是:名稱/值對(也只可以說成鍵值對)
名/值對組合中的名稱寫在前面(在雙引號中),值對寫在后面(同樣在雙引號中),中間用冒號隔開,也就是說不管名稱還是值都要用雙引號引起來,而且只能是雙引號,不能是單引號.
json值可以是任何類型,包括number,string,boolen,array,object,null,undefined
有兩種格式,花括號{}或方括號[].
用戶在網頁上書寫的內容一般是以json字符串的形式傳到后臺的,后臺拿到這個字符串不能直接使用,需要轉化為對象形式才能使用,可以用JSON.parse()把json字符串轉換成相對應的json對象.
為了更直觀的了解json,可以看下面的代碼
var json1='{"user":"honghong","age":38,"job":"CEO"}';var json2='["feng",20,"Programmer"]';var parseJSON=JSON.parse(json1,function(key,value){if(key==="user") value="huahua";console.log(key);//user age jobreturn value;});console.log(parseJSON);//Object{user:"huahua",age:38,job:"CEO"}var parseArr=JSON.parse(json2);console.log(json1);//{user:"huahua",age:38,job:"CEO"}console.log(typeof json1);//stringconsole.log(parseJSON.user);//huahuaconsole.log(json2);//["feng",20,"Programmer"]console.log(typeof json2);