Javascript 高阶函数 - 如何将变量从 to 函数传递到它的父函数



我正在尝试解决这个算法。我想我已经很接近了。

我需要seven函数将a变量传递给timesFive函数。或者,有没有一种方法可以让* 5运算从时间五到时间七,以获得所需的结果?

  • 我不允许有这两个函数范围之外的变量
  • 只要b仍然是第一个自变量,我就可以在timeFive中添加另一个自变量。

    function seven(action) {
    var a = 7;
    return action;
    }
    
    function timesFive(b) {
    console.log(a);  // How can I access "a"?
    return a * 5;
    }
    
    console.log(seven(timesFive()));    // Desired result: 35
    

timeFive应该返回一个函数,七应该期望函数作为参数。然后seven可以简单地调用timesFive()返回的函数(所以基本上是返回问题中提到的* 5操作(:

function seven(action) {
var a = 7;
return action(a);
}
function timesFive() {
return (a) => a * 5;
}
console.log(seven(timesFive()));    // Desired result: 35

BTW你经常会看到这些练习的写作方式模仿了数学中的函数表示法,比如:

const seven = (action) => action(7);
const timesFive = () => (a) => a * 5;
console.log(seven(timesFive()));    // Desired result: 35

相关内容

最新更新