模拟js中Array对象的foreach方法
js中Array对象里的forEach方法用于遍历arr中的所有元素,利用回调函数完成遍历功能
代码:
//在arr对象原型中新增一个 myForEach 方法
Array.prototype.myForEach=function(handler){
//handler是接受回调的函数
//遍历的方式不唯一,下面循环里i代表了索引,因此从0开始,this指向调用该方法的arr数组
for(var i=0; i < this.length ; i ++){
//将this指向的数组中的所有内容遍历并返回给接受回调的函数handler
handler(this[i]);
}
};
//新建数组调用函数myForEach
var arr = ["张三",9,"王五"];
arr.myForEach(function(ele){
console.log(ele);
});
结果:
张三
9
王五
如果想要横着输出结果可以改成
Array.prototype.myForEach=function(handler){
var str = "";
for(var i=0;i<this.length;i++){
str += this[i]+" ";
}
handler(str);
};