一阶函数与高阶函数

一阶函数

● 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)的编程语言中才可能实现。

  1. 一个接收另一个函数作为参数的函数。
const greet = () => console.log('Hev Jonas');
btnClose addEventListener('click', greet)

● addEventListener是高阶函数,greet是回调函数

  1. 一个返回新函数的函数
function count() {
  let counter = 0;
  return function() {
    counter++;
  };
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值