【笔记】JS高阶函数

前言

JS高阶函数学习笔记
如果一个函数传递的参数是一个函数(如:回调函数),那么这个函数就是高阶函数
如果一个函数的返回值是一个函数(如:闭包),那么这个函数就是高阶函数

回调函数

1
2
3
4
5
6
7
function fn(callback) {
callback && callback();
}

fn(function() {
...
});

闭包(closure)

  • 一个可以访问另一个函数内部的局部变量的函数,另一个被访问局部变量的函数就是闭包
  • 闭包的主要作用是延伸局部变量的范围
1
2
3
4
5
6
7
8
9
function father() {
var 变量名 = 值
function son() { // 闭包
变量名 = 值
};
return son;
}

var son = father();

小闭包

  • 自调用函数(立即执行函数)被称为小闭包,因为自调用函数内可以使用自调用函数传递的参数
1
2
3
(function(i) {
console.log(i);
})(i);

完成

参考文献

哔哩哔哩——黑马前端