这里介绍下回调函数应用场景,同时涉及到的有同步异步处理

函数也是一种数据类型,既可以当做参数进行传递,也可以当做方法的返回值
  1、参数
  2、返回值

注意:

一般情况下,把函数当做参数传递,就是为了获取函数内部的异步操作结果

 

(1)同步函数

  回调函数+同步异步函数_回调函数

 

(2)异步函数

  详见下节文章

   首先需要了解异步API,举例如下

  回调函数+同步异步函数_数据类型_02

输出结果为1、32
分析:因为代码在运行过程中不会等待定时器,哪怕时间为0S,也会先执行同步代码,再执行异步代码

  这里便涉及到JS的两个知识点:单线程、时间轮询.

   退一步将,就算setTimeout没有放置时间,也是最后执行

  对之前函数做下更改

  回调函数+同步异步函数_数据类型_03

语法角度出发进行分析:内部return对应的是setTimeout的回调函数,与最外部函数无关,所以也没有办法在执行add()函数时获取里面的异步操作数据

  回调函数+同步异步函数_同步异步_04

 

   回调函数+同步异步函数_异步操作_05

 

   回调函数案例:

  回调函数+同步异步函数_参数传递_06

 

  回调函数+同步异步函数_数据类型_07

 

   

 

 

 

.