需要涉及函数的快速JavaScript解释

Need Quick JavaScript Explanation Involving Functions

本文关键字:JavaScript 解释 函数      更新时间:2023-09-26

我正在阅读一篇评论JavaScript的博客,我正在尝试自学。我还在思考函数,不太明白这段代码是如何运行的。有人能给我解释一下吗?

谢谢!

square = function (a) {
  return a*a;
}
applyOperation = function (f, a) {
  return f(a);
}
applyOperation(square, 10); // 100

applyOperation接受参数f和a并返回f(a)。参数f是一个函数,它返回给定参数a的函数值。

我们调用applyOperation(square, 10)也就是说applyOperation返回square(10)而square函数返回的是参数squared结果是100

f function称为callback functioncallback function 是传递给另一个函数的函数。在您的代码中,square functioncallback function

callback function的形式一般为:

function myFunction (callback, arg){
    // ... some code
    callback(arg);
}
function myOtherFunction(arg){
    // ... some code
    // return something
}
// to invoke the function
myFunction(myOtherFunction, {arg1: 'someStringValue1', arg2: 'someStringValue2'});

注意这里的arg对象可以有两个以上的arg,命名callback是一种约定。这意味着以下代码被认为是有效的

function myFunction (mysuperrandomfunctionthatwaspassed, arg){
    // ... some code
    mysuperrandomfunctionthatwaspassed(arg);
}

尽管一些javascript开发人员可能会对你大喊大叫,如果你不使用callback这个词作为回调函数


更多阅读:HERE and HERE