回调函数是什么
回调函数是一种常见的编程概念,指的是将一个函数作为参数传递给另一个函数,并在特定事件发生或满足特定条件时执行该函数。
js中回调函数举例
<template>
<div>
<button @click="calculate">计算</button>
<div @click="calculate">1+2={{sum}}</div>
</div>
</template>
<script>
export default {
data() {
return {
sum: ''
}
},
methods: {
// 求和函数
calculateSum: function (a, b, callback) {
let c = a + b;
callback(c);
},
// 回调函数实现
printSum(result) {
console.log("计算结果:" + result);
this.sum = result;
},
// 计算
calculate() {
// 调用calculateSum函数,传入1,2和printSum函数,这里的printSum函数就是回调函数
this.calculateSum(1, 2, this.printSum);
}
}
}
</script>
<style scoped>
h2 {
text-align: center;
}
</style>
calculateSum函数中把printSum函数作为参数传进去,并在方法内部执行printSum函数,这里的printSum就是回调函数
setTimeout
const text = () => {
console.log("计算结果:" + 3);
}
setTimeout(text,1000)
setTimeout 是 JavaScript 中的一个函数,用于在指定的延迟时间后执行一次指定的回调函数。
它的第一个参数是个回调函数,第二个参数是毫秒数,这个函数执行之后会产生一个子线程,子线程会等待 1 秒,然后执行回调函数 “text”,在文本中输出计算结果:3
简单来说,回调函数是一种在异步编程中用于处理事件和处理结果的机制。它允许你定义一个函数,然后在需要的时候将其传递给其他函数,以便在特定事件发生时进行调用。
回调函数常用于处理以下情况
- 异步操作:当进行异步操作(如网络请求、文件读取等)时,可以将回调函数传递给异步函数,以便在操作完成后执行回调函数,处理返回的结果。
- 事件处理:当特定事件发生时(如点击、滚动、定时器等),可以将回调函数传递给事件监听器,以便在事件触发时执行回调函数。
- 迭代器和遍历:在迭代器和遍历操作中,可以使用回调函数来定义每一次迭代的行为,例如在数组的每个元素上执行某个操作。
回调函数的特点包括
- 可以将函数作为值进行传递。
- 可以在其他函数内部或外部定义回调函数。
- 可以在需要的时候执行回调函数。
- 可以将参数传递给回调函数,以便在执行时使用。