with在模板中的应用
Posted 三江汇流
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了with在模板中的应用相关的知识,希望对你有一定的参考价值。
var str = ‘Hello <%= name %>!‘;
var o = {
name: ‘Alice‘
};
function tmpl(str, obj) {
str = ‘var p = [];‘ +
‘with (obj) {p.push(‘ + parser(str) + ‘)};‘ +
‘return p;‘
var r = (new Function(‘obj‘, str))(obj);
return r.join(‘‘);
}
tmpl(str, o)
推测parser应该是返回"hello" ,"Alice","!"
代码就变成:
var str = ‘Hello <%= name %>!‘;
var o = {
name: ‘Alice‘
};
function tmpl(str, obj) {
str = ‘var p = [];‘ +
‘with (obj) {p.push("hello" ,"Alice","!")};‘ +
‘return p;‘
var r = (new Function(‘obj‘, str))(obj);
return r.join(‘‘);
}
tmpl(str, o)
核心部分就是:
var o = {
name: ‘Alice‘
};
var p = [];
with (o) {
p.push(‘Hello ‘, name, ‘!‘);
};
p.join(‘‘)
以上是关于with在模板中的应用的主要内容,如果未能解决你的问题,请参考以下文章
调用模板化成员函数:帮助我理解另一个 *** 帖子中的代码片段