数组方法中传入函数,比如
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
}
从中学到一点东西,当在原型链上定义一个简单方法如遍历数组元素,然后在这个遍历数组元素方法传形参的时候可以传入一个函数方法,来实现对遍历出来的数组元素操作,也就是基于遍历出来的的元素进行操作。这样可以根据自己需求来完成功能定义。数组的许多方法也是通过此来实现。