jQuery闭包学习笔记
来源:互联网 发布:永恒之塔人物数据男 编辑:程序博客网 时间:2024/06/05 02:31
定义这些就不说了,往下面看就理解了,有demo
[例1]
使用闭包结构能够跟踪动态环境中数据的实时变化
<script type="text/javascript"> function f() { var a = 1 ;//定义局部变量a,初始值为1 /* 定义一个闭包,并赋值给局部变量 */ var b = function () { return a; //返回函数参数x } a++; //动态更新函数内的局部变量a的值 return b;} var c =f(); //调用函数 alert(c()); //返回值是2,而不是1</script>
闭包不会因为外部函数环境的注销而消失,并始终存在
<!DOCTYPE html><html lang="en"><head> <title>标准DOM示例</title> <meta charset="utf-8"/></head><body><button onclick="f()"> 按钮1</button><button onclick="b()"> 按钮2</button><button onclick="c()"> 按钮3</button><button onclick="d(100)"> 按钮4</button></body><script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script><script type="text/javascript">function f() //定义普通函数f(),包含多个闭包的外部环境{ var a = 1 ; //定义函数内局部变量 b = function () { //闭包b alert(a); //寄存函数内局部变量a的值,并进行提示 } c = function () { //闭包c a++; //递增并寄存函数内局部变量a的值 alert(a); } d = function (x) { //闭包d a=x; //传递并寄存函数内局部变量a的值 alert(a); }}</script></html>
单击按钮1,调用函数f,将生成3个闭包。当函数返回时,3个闭包函数都没有被注销,而变量a由于被闭包的引用而继续存在。如果单击按钮2~4,会由于系统中没有生成闭包结构,弹出编译错误。
[例2]
利用闭包存储变量所有的变化
0 0
- jQuery闭包学习笔记
- jQuery学习笔记2--闭包
- jQuery学习笔记三:闭包
- 闭包学习笔记
- 闭包学习笔记
- 闭包学习笔记
- 闭包学习笔记
- 《jQuery基础教程》4th 笔记-闭包
- Groovy 闭包学习笔记
- JS闭包学习笔记
- js学习笔记-闭包
- Swift 学习笔记 - 闭包
- JavaScript 闭包学习笔记
- Python学习笔记-闭包
- python学习笔记--闭包
- 闭包_学习笔记
- Python学习笔记----闭包
- JavaScript闭包学习笔记
- 堆排序
- HTML基础知识四( 内嵌入式框架、 滑动字幕、多媒体元素、CSS)
- Robert Jenkin's hash function
- 有关JDK/JRE/Eclipse/Tomcat简单入门详解
- [Python]将Excel文件中数据导入MySQL
- jQuery闭包学习笔记
- bestcoder放盘子
- 蛋疼的事情
- final变量中的宏替换
- Android 点击一个按钮,弹出一个对话框
- qt打开含有中文字符链接
- 黑盒测试
- PullToRefresh的使用的详细用法,一个细节问题
- 批量启动虚拟机 开启vhost