拿去玩。
Document
{{user.name}}
function render(template, context) {
var tokenReg = /(\\)?\{\{([^\{\}\\]+)(\\)?\}\}/g;
return template.replace(tokenReg, function(word, slash1, token, slash2) {
if (slash1 || slash2) {
return word.replace('\\', '');
}
var variables = token.replace(/\s/g, '').split('.');
var currentObject = context;
var i, length, variable;
for (i = 0, length = variables.length; i < length; ++i) {
variable = variables[i];
currentObject = currentObject[variable];
if (currentObject === undefined || currentObject === null) return '';
}
return currentObject;
})
}
var m = {
className: 'user',
user: {
name: 'xiaoming',
avator: 'http://imgsrc.baidu.com/forum/pic/item/ab64034f78f0f736d0d308f60255b319ebc41313.jpg'
}
}
var template = document.getElementById('template').outerHTML;
document.getElementById('template').outerHTML = render(template, m)