我们可以将两个函数作为另一个函数的参数传递吗?

时间:2019-03-22 05:24:22

标签: javascript arrays function

我是JavaScript新手。我们可以将两个变量和数组作为一个函数的参数传递,并且可以将一个函数作为另一个函数的参数传递,但是我们可以在两个函数中像下面这样传递两个函数作为参数。

var years = [1996, 1997, 1998, 1999, 2000];

function age(array1, fn) {
    var age = [];
    for (var i = 0; i < array1.length; i++) {
        age.push(fn(array1[i]));
    }
    console.log(age);
}

function calculateAge(yearOfBirth) {
    return 2019 - yearOfBirth;
}

age(years, calculateAge);

function yearsForRetire(years, calculateAges) {
    var yearsForRetire = [];
    for (var i = 0; i < years.length; i++) {
        yearsForRetire.push(65 - calculateAges(years[i]));
    }
    console.log(yearsForRetire);
}

function any(age, yearsForRetire) {
    //body
}

1 个答案:

答案 0 :(得分:0)

是的,您可以将函数作为另一个函数的参数传递。这是一个非常简单的示例来说明工作原理:

function a() {
    return 'xyz';
}

function b(a) {
    console.log(a())
}

b(a)

输出:

'xyz' // This is the result from function a