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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
 * 求给定参数数组元素中的最大值
 *
 * 参数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);

  

       javascript中的函数是“复合数据类型”,又成为“引用类型”。引用类型的变量指向存储单元中存放的是它们的实际存放地址。函数名是对函数的一种引用.var a=max_num ;a()就可以调用function max_num

       另外js函数的一个特点是,无论在函数定义时定义了多少个参数,函数在调用时都可以接受任意个数的参数(最大25个)。就像function result()只定义了一个参数function_name,但是调用的时候可以带多个参数result(max_num,3,4,5,6);

js 函数作为参数+接受任意数量参数,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。