我正在编写帮助函数来遍历所有数组元素 - 只是为了学习 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函数?