【问题标题】:how to call a function as argument in javascript如何在javascript中调用函数作为参数
【发布时间】:2016-07-13 20:31:15
【问题描述】:

我正在学习 javascript,我想知道是否有可能像这样使用 lambda 函数

function operation (function f, num1, num2){
    f.call(num1, num2);
}
operation((a,b)=>{return a+b}, 2,3);

我在第 1 行有 Unexpected token function,对于 function f 我想,有没有办法让它以某种方式工作?

【问题讨论】:

  • 在 javascript 中不存在类型!将function f 替换为df

标签: javascript lambda


【解决方案1】:

试试这个:

function operation (f, num1, num2){
    f(num1, num2);
}
operation((a,b)=>{return a+b}, 2,3);

JavaScript 是 无类型 语言。如果你想使用call,试试这个:

function operation (f, num1, num2){
    f.call(this, num1, num2);
}
operation((a,b)=>{return a+b}, 2,3);

【讨论】:

    【解决方案2】:

    JavaScript 函数参数定义没有类型。从第 1 行的 f 之前删除关键字 function

    【讨论】:

      【解决方案3】:

      是的,只需删除 function:

      function operation (function f, num1, num2){
        f.call(num1, num2);
      }
      operation((a,b)=>{return a+b}, 2,3);
      

      但是,这将使用this-context num1 和第一个参数num2 调用您的函数。如果您想在不覆盖 this 上下文的情况下调用该函数,只需使用 () 调用它:

      f(num1, num2)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-19
        • 1970-01-01
        • 2023-03-08
        • 2021-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多