函数的应用
函数本质上是一种对象,可以将其当做普通对象来使用。
-
回调函数
回调,就是回头调用的意思。主函数的事先做完,回头再调用传进来的那个函数。
//定义主函数,回调函数作为参数
function A(callback) {
callback();
console.log('我是主函数');
}
案例
//定义主函数,回调函数作为参数
function A(callback) {
callback();
console.log('我是主函数');
}
//定义回调函数
function B() {
// 模仿延时操作
setTimeout(() => {
console.log('我是回调函数');
}, 3000);
}
//调用主函数,将函数B传进去
A(B);
回调函数的作用:回调函数一般都用在耗时操作上面:因为主函数不用等待回调函数执行完,可以接着执行自己的代码。比如ajax请求,比如处理文件等。
-
作为返回值
我们在作用域链的案例中,就使用到了函数作为返回值的用法
var a = 10
function fn() {
var b = 20
function bar() {
console.log(a + b) //30
}
return bar
}
var x = fn(), // 执行fn() 返回的是bar
b = 200
x() //执行x,就是执行bar函数