有关闭包的相关知识整理
来源:互联网 发布:易语言单机游戏源码 编辑:程序博客网 时间:2024/06/06 02:33
闭包:当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。这句话
理解起来可能有些困难,简单的说来,闭包就是能够读取其他函数内部变量的函数,本质上,闭包就是将函数内部和
函数外部连接起来的一座桥梁。
在我们平时码出的JS代码中,可以说闭包的应用多不胜数。
例如:
function foo(){
var f1=10;
function bar(){
console.log(f1);
}
return bar;
}
var baz=foo();
baz();
在这段代码中,foo函数外部变量想要读取内部变量,根据作用域原理是没有办法实现的,但是,闭包可以读取
其函数内部的变量,故而,最后return bar,即可实现显示f1变量数值。
闭包在函数中的应用很多,最常见的有定时器、Ajax请求、跨窗口通信或者其他的异步任务中。
闭包的用途主要有两个:1、可以读去函数内部的变量
2、让这些变量的值始终保存在内存中
使用闭包需要注意以下两点:1、由于闭包会使函数的变量都保存在内存中,造成内存消耗大,所以不能滥用闭包。
2、闭包会在父函数外部改变父函数内部变量的值,所以,如果把父函数当作对象使用,把闭包当作它的公用方法,把内部变量当作它的私有属性,注意不要随意改变父函数内部的值。
阅读全文
0 0
- 有关闭包的相关知识整理
- 包的相关知识
- 整理View的相关知识
- 进程相关知识的整理
- 【黑马程序员】CSS的相关知识整理
- IP地址库的相关知识整理
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- Codeforces Round #435 (Div. 2) E. Mahmoud and Ehab and the function
- 第三周项目四(2)
- eclipse 中代码突然变红变绿变黄
- 文件对象笔记(功能)
- Spring 动态代理(三)
- 有关闭包的相关知识整理
- 面试--网络--TCP的三次握手
- JAVA多线程join方法入门详解
- Java 实现 POS 打印机无驱打印
- HDU
- Java Spring Boot 服务器端断点续传功能支持 实现代码
- Servlet生命周期
- 剑指offer——48.把字符串转换成整数
- 【2017青岛网络赛】1006 hdu 6211 Pythagoras 打表+本原勾股数