文章目录
前言
随着前端学习的深入,高阶函数、函数柯里化、防抖和节流的概念及实现成为了我们需要掌握和了解的内容。
一、高阶函数
1. 什么是高阶函数?
如果一个函数接受另一个函数作为参数,那么我们就将该函数称为高阶函数。
2. JavaScript中常见的高阶函数
1. forEach和Map
var arr = [1, 2, 3];
arr.forEach((item, index) => {
console.log(item, index);
})
//手写forEach方法
Array.prototype.myForEach = function (callback) {
var len = this.length;
if(typeof callback !== "function") {
throw new Error("muse be function");
}
for(var i = 0; i < len; i++) {
callback.call(this, this[i], i); //this[i] 当前项,i 下标。
}
}
var arr1 = arr.map((item, index) => {
if(item === 1) {
item += 2;
}
return item;
})
//手写map方法
Array.prototype.myMap = function (callback) {
var len = this