Open Yang03 opened 8 years ago
function h(strings, ...values) {
/**
* strings ['my name is', 'years old']
* values ['kobe', '37']
*/
let result = strings[0]
for (let i = 0, len = strings.length-1; i < len; i++) {
ret += escapeHtml(values[i]) + strings[i+1]
}
return ret
}
const $DIV = $('<div>')
function escapeHtml(string) {
var str = '' + string;
return $DIV.empty().text(string).html()
}
const name = 'kobe'
const age = '37'
const template = h`my name is ${name}, ${age} years old`
const template = function (url, params) {
const names = Object.keys(params);
const vals = Object.values(params);
// eslint-disable-next-line
return new Function(...names, return \
${url}`;`)(...vals);
};
多行
模版
还可以这样用