(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;
これがスコープに関連しており、誰かが説明する時間があれば、それは大歓迎です。理想的には、読みやすくするために var キーワードを前template
に付けたいと思います。frag