felixmarketing 2021-01-02 10:07 采纳率: 0%
浏览 133

箭头函数 ,callback

function double(value, callback) { 
 setTimeout(( ) => callback(value * 2), 1000); 
}

double(3, (x) => console.log(`I was given: ${x}`)); 

以上是《JavaScript 高级程序设计》中的代码片段。
第一段 ,先定义double函数,参数是value和callback, 在函数体中,调用setTimeout函数,以( ) => callback(value * 2)为其中的一个参数,但是这是个箭头函数,而箭头函数是匿名函数,很明显这是有函数名的,函数名为callback.

所以,我就纳闷了,箭头函数是怎么回事?我哪里理解错了? 

恳请大家教教我,谢谢。

  • 写回答

2条回答 默认 最新

  • Lazy33 2021-01-03 00:20
    关注

    那个函数也可以这么写

    setTimeout(
        function(){ 
             callback(value * 2)
        }
    , 3000);

    首先它本身确实是一个匿名函数,但是setTimeout里面也需要传一个函数啊,然后延时器去调用的是一个叫callback的名字的函数,传的值是 value*2

    评论

报告相同问题?