# arguments

TIP

函数作为参数+接受任意数量参数

//console test:
function a(){console.log(arguments)};a(1,2,34,5);
//函数作为参数+接受任意数量参数
/*
 * 求给定参数数组元素中的最大值
 *
 * 参数num_arr  array类型
 * return max 数值型
 */
function max_num(num_arr)
{
    //保存结果,初始化为数组的第一个元素
    var  max=num_arr[0];
    var i=0; //循环变量初始化
   //遍历数组,找出最大值放在max中
    for(i;i<num_arr.length;i++)
    {
        if(max<num_arr[i])
        max=num_arr[i];
    }
    return max;
}
 
/*
 * 将函数作为函数参数
 *
 * 参数 function_name  函数的名字
 *
 * return 调用参数中的函数
 */
function result(function_name)
{
    var number_arr=new Array();
    //将参数中除去第一个参数的其余参数赋值给数组number_arr
    var i =1;
    for(i;i<arguments.length;i++)
    {
        number_arr[i-1] = arguments[i];
    }
    return function_name(number_arr);
}
 
var a=result(max_num,3,4,5,6);
console.log(a);//6