js——高阶函数、闭包、递归

目录

一、高阶函数

1、什么是高阶函数

2、把一个函数作为参数

3、return 返回的也是一个函数

二、闭包

1、闭包是什么

2、变量的作用域

3、案例

4、结果展示:

 5、总结:

三、递归

1、什么是递归

2、案例一

3、分析

4、问题

5、栈溢出又是什么呢

6、解决方法

7、案例二

8、分析

9、结果展示:

10、总结


一、高阶函数

1、什么是高阶函数

高阶函数是那些操作其他函数的函数。用最简单的话来说,高阶函数就是一个将函数作为参数或者返回值函数。就是满足以下两种函数都可以称为高阶函数

(1)把一个函数作为参数

(2)return 返回的也是一个函数

2、把一个函数作为参数

举例说明:

<script>
        function fn(a,b,callback){
            console.log(a+b);
            callback && callback() 
//如果第一值callback不存在(false),直接返回false,如果第一个值存在,则运行第二个值 callback()
        }
        fn(1,2,function(){
            console.log('我是最后调用的');
        })
    </script>

上面的例子意思就是,我定义了一个函数fn,里面有三个参数,a,b以及一个函数callback,然后输出a+b,然后我再执行callback函数,他会先执行a+b,然后再执行callback函数

结果截图:

3、return 返回的也是一个函数

举例说明:

<script>
        function fn(){
            return function(){}
        }
        fn();
</script>

 

这里return 返回的是一个函数,那他就是高阶函数

总结:高阶函数是对其他函数进行操作的函数,他接受函数作为参数或将函数作为返回值输出

二、闭包

<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值