<script>
var animals = [
{species: 'Lion', name: 'King'},
{species: 'Whale', name: 'Fail'}
];
for (var i = 0; i < animals.length; i++) {
(function (i) {
this.print = function () {
console.log('#' + i + ' ' + this.species + ': ' + this.name);
}
this.print();
}).call(animals[i], i);
}
</script>
質問:
1. なぜこのように書くのですか: this.print, this.species, this.name? 「これ」を削除しようとしましたが、コンソール ログに「未定義」と表示されます
2.call(animals[i], i)
それと はどう違いcall(this, i)
ますか?