//Object.prototype是可以扩充的,同样Array.prototype也可以被扩充。
/*通过给Array.prototype扩充一个函数,每个数组都继承了这个方法。
定义了reduce方法,它接受一个函数和一个初始值作为参数。
它遍历这个数组,以当前元素和该初始值为参数调用这个函数,并且计算出一个新值
当完成时,它返回这个值。传入一个将两个函数相加 的函数,它会计算相加的和。
传入相乘的函数,就会计算出乘积。
*/
Array.prototype.reduce=function(f,value){
var i;
for(i=0;i<this.length;i+=1){
value=f(this[i],value);
}
return value;
};
var data=[5,8,9,11,13];
var add=function(a,b){
return a+b;
};
var muti=function(a,b){
return a*b;
};
//var sum=data.reduce(add,0);
var product=data.reduce(muti,1);
document.write(product);
data.total=function(){
return this.reduce(add,0);
};
total=data.total();
alert(total);
js 方法扩展
最新推荐文章于 2019-10-08 17:58:43 发布