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

    评论

报告相同问题?

悬赏问题

  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画
  • ¥15 TeleScan不能修改bar
  • ¥100 请问我基于逐飞库写的这个有关于mp u6050传感器的函数,为什么输出的值是固定的?
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别