在js中,怎样理解callback?

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

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

这段代码是《Javascript 高级程序设计》第4 版,这本书中的,麻烦解释一下,谢谢。

本人刚学习js,很多都不懂,恳请大家帮忙。

callback关键字替代了函数名,优点是代码易复用,不用修改代码可以替换函数参数中的回调函数

function fu1 (a) {
console.log(a)
​​​​​​​}

function fun2 (value, callback) {
    callback(value)
}

fun2(5, fu1) //输出 5

callback是回掉函数,简单写了两个函数帮助你理解,其中callback表示待调用的函数名,在fun2里面可以直接callback()方式调用该函数。理解上 和里面value变量一个原理的。