数组方法中传入函数,比如
Array.prototype.reduce(function(prov,cur,curindex,arr){},init);
下面是自定义的reduce(根据现在方法思路)
Array.prototype.myreduce = function (fn, init) {
var prve = init;
var len = this.length;
var i = 0;
if (init == undefined) {
prve = this[0];
i = 1;
}
for (i; i < len; i++) {
prve = fn(prve, this[i], i, this);//fn方法求得的值赋值给prve
console.log(prve);
}
return prve
}
从中学到一点东西,当在原型链上定义一个简单方法如遍历数组元素,然后在这个遍历数组元素方法传形参的时候可以传入一个函数方法,来实现对遍历出来的数组元素操作,也就是基于遍历出来的的元素进行操作。这样可以根据自己需求来完成功能定义。数组的许多方法也是通过此来实现。