| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> JavaScript知识库 -> <JavaScript>闭包 -> 正文阅读 |
|
|
[JavaScript知识库]<JavaScript>闭包 |
|
目录 3.IIFE(Immediately Invoked Function Expression,立即调用函数表达式):JS特殊函数,一旦被定义,就立即被调用 1.什么是闭包?函数本身和该函数声明时所处的环境状态的组合。
1.2 闭包的记忆性:函数能够记住定义时所处的环境
1.3 闭包现象:JS中每次创建函数时都会创建闭包
2.闭包的功能:记忆性、模拟私有变量2.1 记忆性
举例:
细节: 1:闭包的记忆性 2:函数return checkTemp,是一个函数名 3:定义var checkTemp_A和checkTemp_A来获取函数名checkTemp,而不是直接调用 2.2 模拟私有变量(安全化变量)
闭包代码举例:
其实可以理解,JavaScript不像C++、Java那样能定义函数的类型,比如int sum()、int add()、int pow()等等,所以就需要利用闭包的特性:即在函数内闭包的记忆性来对函数内变量进行操作,然后返回闭包函数的名称来进行内部数据操作。 3.IIFE(Immediately Invoked Function Expression,立即调用函数表达式):JS特殊函数,一旦被定义,就立即被调用
3.1 IIFE作用1-为变量赋值举例: 前后两图对比一下,体现编程水平。。。简化代码。。美观。。。
3.2 IIFE作用2-将全局变量变为局部变量
这种情况下,下面五个语句的结果都是5,因为在JS中是没有块作用域这个概念的(暂时这么理解),所以var i就成了全局变量,for循环后i=5。所以五个语句的结果都是5。 那么加下来可以利用IIFE解决这个问题,其本质是利用了函数的闭包特性
将全局变量i传入IIFE函数中,全局变量 就 变成了局部变量,再利用JS函数的闭包特性,即可以实现图中arr[2]()的功能。 |
|
|
| JavaScript知识库 最新文章 |
| ES6的相关知识点 |
| react 函数式组件 & react其他一些总结 |
| Vue基础超详细 |
| 前端JS也可以连点成线(Vue中运用 AntVG6) |
| Vue事件处理的基本使用 |
| Vue后台项目的记录 (一) |
| 前后端分离vue跨域,devServer配置proxy代理 |
| TypeScript |
| 初识vuex |
| vue项目安装包指令收集 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/30 23:52:59- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |