匿名函数、闭包

1、匿名函数

匿名函数,顾名思义就是不指定函数名的函数,匿名函数的优点为可以节约内存,一个函数只会使用一次,用完了就自动释放,比如回调、自调。

(1)、回调函数

将函数作为参数传递给另一个函数去调用

arr.sort(function(a,b){return a-b})

str.replace(/reg/g,function(kw...){return...})

(2)、自调函数

创建函数以后立刻自动调用自己一个函数只执行一次,不会再重新使用,其意义在于建立临时作用域,避免全局污染

(function(参数列表){函数体 return返回值})()

+function(参数列表){函数体 return 返回值}()

2、闭包

当我们使用一个变量时,希望下次可以重复的去使用,而不用从新定义一个变量,这时,我们通常会定义一个全局变量,这样在需要使用时可以重复的去调用,而不用再次的定义。但是这样又会干扰其他变量,造成一些bug,这种情况称为全局污染。使用局部变量可以避免全局污染,但是只能在该函数内使用,超出了该函数的适用范围就不能调用。为了解决这个问题,闭包随之诞生。

闭包就是用外层函数包裹受保护的变量和操作变量的内层函数,然后将内层函数作为外层函数的返回值,就可以在外面直接访问函数内的变量。请看如下流程图:

(1)、准备工作(初始化)

(2)、调用外层函数

(3)、调用内层函数

输出结果为:

(4)、第二次调用内层函数

输出结果为:

(5)、调用结束

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值