需要快速JavaScript解释涉及函数

时间:2014-06-02 00:43:14

标签: javascript function

我正在阅读一篇评论JavaScript的博客,我正在尝试自学。我仍然围绕着函数,并不太明白这段代码是如何运行的。有人可以向我解释一下吗?

谢谢!

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

2 个答案:

答案 0 :(得分:2)

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

所以你调用applyOperation(square,10),这意味着applyOperation返回square(10),square函数只返回平方给你的参数。

答案 1 :(得分:2)

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对象可能有两个以上的args,命名callback是一种约定。这意味着以下代码被视为有效

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

虽然如果你不使用单词callback作为回调函数,一些javascript开发人员可能会对你大喊大叫。


更多阅读:HEREHERE