闭包常见操作

作者: JackyLF | 来源:发表于2019-04-10 15:19 被阅读69次

总结

定义:闭包可以让一个函数访问并操作其声明时的作用域中的变量和函数,并且,即使声明时的作用域消失了,也可以调用

应用:
1.私有变量
2.回调与计时器
3.绑定函数上下文
4.偏应用函数
5.函数重载:缓存记忆、函数封装
6.即时函数:独立作用域、简洁代码、循环、类库封装、通过参数限制作用域内的名称

正文


闭包的定义说法如下:
1、只要能访问外部变量的就是闭包,
2、所有函数都是闭包。
3、保护一个可重用的局部变量的词法结构
4、忍者秘籍-- 闭包是一个函数在创建时允许该自身函数访问并操作该自身函数之外的变量时所创建的作用域
5、闭包可以让一个函数访问并操作其声明时的作用域中的变量和函数,并且,即使声明时的作用域消失了,也可以调用

注意的是:闭包不是在创建的那一时刻点的状态的快照,而是一个真实的封装,只要闭包存在,就可以对其进行修改。

最简单的闭包:

// 全局作用域就是一个闭包
var outerVal = 'lifan'
function oterFn(){
  console.log(outerVal)
}
outerFn() // lifan

新的闭包说明:

1.闭包一定是函数对象
2.闭包和词法作用域,作用域链,垃圾回收机制息息相关
3.当函数一定是在其定义的作用域外进行访问时,才产生闭包
4.闭包是由该函数和其上层执行上下文共同构成

相关文章

  • 闭包常见操作

    总结 定义:闭包可以让一个函数访问并操作其声明时的作用域中的变量和函数,并且,即使声明时的作用域消失了,也可以调用...

  • [Swift5.1] 26-函数式编程

    Array的常见操作 arr.map() : 遍历数组每一个元素, 每遍历一个元素调用一次闭包,将元素传入闭包,闭...

  • 学习JS笔记(第七章-闭包,作用域)

    闭包的概念## 闭包实例## 数据传递更加灵活### 常见错误之循环闭包### 封装变量### 闭包小结## 作用...

  • iOS-Swift-函数式编程

    一. Array的常见操作 1. map 遍历数组中的元素,传入到后面的闭包里面,闭包的返回值组成新的数组,最后返...

  • 2019最新前端知识梳理(JavaScript部分)-面试宝典

    1 闭包 闭包就是能够读取其他函数内部变量的函数 闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的...

  • JavaScript闭包的理解

    什么是闭包? 有什么作用 闭包是指一个函数可以调用其他函数的变量。最常见的闭包就是一个函数嵌套另一个函数; 闭包的...

  • JavaScript 解密 —— 函数进阶(闭包与生成器)

    一、闭包 简单来说,闭包(closure)允许函数访问和操作位于自身外部的变量。借助闭包的特性,函数可以访问任何变...

  • JavaScript中闭包与this对象

    闭包 闭包与匿名函数容易混淆。闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内...

  • 关于闭包

    最终实例效果 Swift闭包的作用和OC中的block一致1、保存代码2、做耗时操作 1、闭包 写法 闭包作为函数...

  • JavaScript闭包

    闭包是什么 闭包是一个函数 闭包能访问函数内部的变量 创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另...

网友评论

    本文标题:闭包常见操作

    本文链接:https://www.haomeiwen.com/subject/qhpniqtx.html