你能解释一下为什么"这个"是不是引用模板对象?

时间:2017-05-03 15:01:54

标签: javascript

你能解释为什么这段代码:

    function getTemplate(config) {

    var templates =  {

        template1: '<h1>Header</h1>',

        template2: this.template1+'<p>Paragraph 2</p>',

        template3: '<p>Paragraph 3</p>'
    }

    return templates[config];
}
console.log(getTemplate('template2'));

返回:

undefined<p>Paragraph 2</p>

预期结果是:

<h1>Header</h1><p>Paragraph 2</p>

1 个答案:

答案 0 :(得分:0)

您可以尝试以下

function getTemplate(config) {
    var templates =  {
        template1: '<h1>Header</h1>',
        template2: function(){
            return this.template1+'<p>Paragraph 2</p>'
        }(),

        template3: '<p>Paragraph 3</p>'
    }
    return templates[config];
}

console.log(getTemplate('template2'));