(function() {
var content = [
{
title: 'My awesome blog post',
thumbnail: 'images/bane.jpg',
},
{
title: 'My second awesome blog post',
thumbnail: 'images/joker.jpg',
},
],
template = $.trim( $('#blogTemplate').html() ),
frag = '';
$.each( content, function( index, obj ) {
frag +=
template.replace( /{{title}}/ig, obj.title )
.replace( /{{thumbnail}}/ig, obj.thumbnail );
});
$('body').append(frag);
})();
你好,
我只是想知道为什么包含在自调用匿名函数中的代码块不能具有以下以 var 关键字为前缀的变量声明,如下所示:
var template = $.trim( $('#blogTemplate').html() ),
var frag = '';
将 var 关键字添加到此函数的局部变量中 -template
似乎frag
破坏了我的代码,我真的不明白为什么,但是如果我声明template
并frag
在函数外部的全局范围内,如下所示,那么我的代码可以工作。
var template;
var frag;
如果这与范围有关,并且任何人都有时间解释,将不胜感激。理想情况下,我想添加前缀template
和frag
var 关键字以增加可读性。