Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!


<script type="text/javascript" src="doT.js"></script>
<script type="text/doT" id="d-template">
<ul>
{{~it:val}}
<li><b>{{=val.firstName}}</b> <i>{{=val.lastName}}</i></li>
{{~}}
</ul>
</script>
var NUM_REPETITIONS = 1500;
...
function test_doT()
{
var template = $("#d-template" ).html();
var html;
var t1 = (new Date()).getTime();
var compiled = doT.compile(template);
for(var n = 0; n < NUM_REPETITIONS; ++n)
html = compiled(data.contacts);
var t2 = (new Date()).getTime();
$("#out").html(html);
return (t2 - t1) / NUM_REPETITIONS;
}
...
res.push( { name:"doT", time: (test_doT()*1000), ratio:0, sloc:140 } );

html = doT.compile(template)(data.contacts);
Пишем свой JavaScript шаблонизатор