什么是闭包
闭包:实现一个作用域有权访问另外一个作用域的局部变量,代码形式,一个作为返回值的函数。可以被方位的局部变量由于闭包导致常驻内存。
作用:延申变量的使用范围,隔离变量
function father () {
let num = 66;
// 闭包:
return function () {
console.log(num)
}
}
let o = father();
console.log( o ); // 打印出来 f() {console.log(num)}
o(); //结果为66
什么是回调函数
回调函数:一个函数是另一个函数的参数,以参数形式的函数就是回调函数。
作用:可以回头调用,随时使用,方便
比如webAPI中常用的
btn.addEventlistener('click',function(){}) //参数中的匿名函数就是一个回调函数
回调函数可以实现闭包,闭包不一定需要以回调函数的形式。
知识补充:一个函数的参数中有函数,这个函数就被称为高阶函数