首先,回调函数这个概念,他是JS
中的一个核心。
作为JS
的核心,回调函数和异步执行是紧密相关的,也是必须跨过去的一道个门槛。
当然,我们这篇文字只谈回调,不说异步。
对象?
JavaScript有对象嘛?
我们知道,JavaScript他不是一个面向对象语言,但是,我们的JavaScript是一个基于对象的脚本语言。
啥意思,也就是基本上,JavaScript里面的函数啊,变量啊,这些都是一个对象,当然这个概念不是像面向对象语言那样。
回调?
网络异常,图片无法展示
|
看这张图,是一个简单的回调函数,怎么回调了呢?
在一个函数里面,我们将另一个函数作为参数,并在函数体内部调用它。在 JavaScript 里,我们叫它 “回调” 。所以,被传递给另一个函数作为参数的函数叫作回调函数。
为什么需要回调函数?
我们知道,JavaScript是一个典型的解释型的脚本语言,他在运行时,是一行一行执行的。
但是,我们有时候,必须在某些情况发生之后,代码才能运行(或者说必须运行),这就不是按顺序运行了。
但是我们上面说了,JavaScript他是一个逐行执行的语言,那咋还能不按顺序来呢?
这是是我们所说的异步编程,即没有按照原本顺序来逐行执行。
回调函数确保:函数在某个任务完成之前不运行,在任务完成之后立即运行。它帮助我们编写异步 JavaScript 代码,避免问题和错误。
说白了就是,将函数当作对象传入另一个函数里面运行,而且可以多层嵌套。
到了接触Node.js
或者ajax
异步时,自然就明白其概念了。