先看一段代码:
var a = [1,2,3];
function map(fn, a, init){
var s = init;
for (i = 0; i < a.length; i ){
s = fn(s,a[i]);
}
return s;
}
alert(map(function(x,y){return x y;}, a , 0)) //把数组的各个元素相加求和
alert(map(function(x,y){return x y;}, a , "")) //把数组的各个元素连接起来
map 函数定义了对 a 数组遍历一次,但具体对各个元素执行何种操作,却没有定义,需要从其第一个参数来定义。
这种方法能提高代码的重用性。不错。