一个小例子,观察脚本语言闭包的效果
来源:互联网 发布:狙击枪 微型导弹 知乎 编辑:程序博客网 时间:2024/05/01 01:11
闭包,是指脚本语言中,一个函数可以访问其他函数作用域内的变量。一般而言,当一个函数结束后,变量就随之释放了,但是闭包不同,下面看两个例子。
例子1,闭包访问函数局部变量:
<!DOCTYPE><html><head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title></title> <script> window.onload = function() { var aLi = document.getElementsByTagName('li'); for (var i = 0; i < aLi.length; i++) { (function() { aLi[i].onclick = function() { alert(i); }; })(); } }; </script></head><body> <ul> <li>123</li> <li>456</li> <li>789</li> </ul></body></html>
例子2,闭包访问参数:
<!DOCTYPE><html><head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title></title> <script> window.onload = function() { var aLi = document.getElementsByTagName('li'); for (var i = 0; i < aLi.length; i++) { (function(i) { aLi[i].onclick = function() { alert(i); }; })(i); } }; </script></head><body> <ul> <li>123</li> <li>456</li> <li>789</li> </ul></body></html>
观察结果,可以发现,例子1中的值始终是3,而例子2中的值,则是0, 1, 2。由此可以体会一下闭包的效果。
0 0
- 一个小例子,观察脚本语言闭包的效果
- 观察着模式的一个例子源码
- 一个闭包的例子
- 谢泳:《观察》周刊的一个小秘密
- Android的webview控件和js脚本语言交互小例子
- 从一个小例子再次理解闭包
- 一个小的例子
- 一个闭包函数的简单例子
- JS闭包的一个例子详解
- 一个闭包的简单例子
- 脚本语言闭包学习
- 一个发包小程序 一种用于自动化测试的脚本语言
- js闭包的一个小问题
- 闭包的一个小技巧认识
- 一个关于闭包的小问题
- 闭包的一个小demo
- 一个验证的小例子
- spss的一个小例子
- webstorm jquery ajax请求跨域问题解决
- AnnotationAwareAspectJAutoProxyCreator is only available on Java 1.5 and higher
- Uva 11354(并查集 + LCA)
- Tomcat内存溢出(java.lang.OutOfMemoryError: PermGen space)的解决办法
- Qt设置窗体背景颜色
- 一个小例子,观察脚本语言闭包的效果
- Spark Scalaa 几个常用的示例
- php 分享两种给图片加水印的方法
- 生僻词汇(地名,动植物名)
- Spark job 的执行流程简介
- wpf border 设置触发器
- html css 垂直居中(二)
- JUNIT
- anaconda + tensorflow +ubuntu