一阶函数
● JavaScript将函数视为一等公民;
● 这意味着函数只是简单的值;
● 函数只是另一种对象的“类型”
将函数存储在变量或属性中
const add = (a,b) => a + b;
const counter = {
value: 23,
inc: function() {this.value++; }
}
将函数作为参数传递给其他函数
const greent = () => console.log('Hev Jonas');
btnClose.addEventListener('click',greet)
从函数中返回函数
对函数调用方法
Counter.inc.bind(someOtherObject);
高阶函数
● 一个接受另一个函数作为参数、返回一个新函数或两者兼具的函数。
● 这只有在拥有一等函数(first-class functions)的编程语言中才可能实现。
- 一个接收另一个函数作为参数的函数。
const greet = () => console.log('Hev Jonas');
btnClose addEventListener('click', greet)
● addEventListener是高阶函数,greet是回调函数
- 一个返回新函数的函数
function count() {
let counter = 0;
return function() {
counter++;
};
}