将函数传递给另一个函数

时间:2011-04-25 02:09:25

标签: javascript

我有一个与此类似的功能:

function foo(array1, fun) {
    var n;
    n = a.length;
    var i;
    for (i=0; i<=n; i++) {
        fun(a[i]);
    }
}

现在我想创建一个名为mult(x)的函数,当我调用它时,我会将其传递给foo。我的问题是,当我想调用时,我应该在mult函数的参数中添加什么:

foo(some_array, mult(x));

2 个答案:

答案 0 :(得分:6)

只需传入对它的引用(仅限其名称)......

foo(some_array, mult);

或者,传递一个匿名函数......

foo(some_array, function() { ... });

你传入的这个函数的第一个参数将被设置为a[i],就像在函数体中一样。

答案 1 :(得分:0)

重写以展示如何在JS中调用函数

function mult(x){
    //do stuff to x
}

function foo(array1, fun){
    var n = array1.length;
    var i;
    for (i=0; i<=n; i++) {
        mult(array1[i]);
    }
}