jsを学習するためだけに、すべての配列要素をループするヘルパー関数を作成しています。
コードは次のとおりです。
function arrayLoop(array, func){
var ar = array.length,
i=0;
for ( i = 0; i < ar; i++ ){
func(i);
};
};
次のように使用すると機能します:
var foo = ['aa','bb','cc'];
arrayLoop(foo, function(i){
alert(foo[i]);
});
しかし、オブジェクト内でそれを実行しようとして、このコンテキストを使用したい場合、エラーが発生します:
function test(){
this.foo = ['aa','bb','cc'];
this.bar = ['ff','gg','hh'];
}
test.prototype.find = function(){
arrayLoop(this.foo, function(i){
alert(this.bar[i]) //error- there is no this.bar
};
};
親を自動的にarrayLoop関数に渡す方法??