实现一个函数add(1,2)
最简单的方式
function add(a,b){
return a+b;
}
add(1,2);
上面是参数已知的情况下,如果我们不知道有几个参数的情况下,该如何做呢?下面是一个最基本的实现。
function add(){
if(arguments.length===1){
return arguments[0];
}else if(arguments.length === 2){
return arguments[0]+arguments[1];
}
}
这里有一个问题,但是不能通用,如f(1,2,3,4,5),尽可能的写一个通用的函数。
function add(){
var sum=0;
for(var i=0;i<arguments.length;i++){
sum+=arguments[i];
}
return sum;
}
add(1,2,3,4);
这里的arguments是伪数组,不能用数组的方法,如果要用数组的方法的话,就需要转化
Array.prototype.slice.call(arguments)
参考文章