1

重複の可能性:
JavaScript クロージャーはどのように機能しますか?

ループ内の別の関数内でループ カウンターの値を使用しようとしています。これは関数クロージャに関連していることを知っています。少し混乱しています。誰かがこの問題について説明できれば、理解できると思います。

for (var i = 0; i < foo.length; i++) {
    // $('<li/>').addClass('box').append($('<img/>').attr({'src':foo[i].image, 'data-phrase':foo[i].phrase}).hide()).appendTo($('ul.boxPack'))
    $('<li/>').addClass('box')
              .attr('data-phrase', foo[i].phrase)
              .bind('click', function (i) {
                   alert(i);
                   console.log(foo[2]);
                   $(this).append($('<img/>').attr('src', foo[2].image))
               })
              .appendTo($('ul.boxPack'));
}

アラートを出すことができませんi

4

0 に答える 0