js进阶学习之--闭包的理解
来源:互联网 发布:cookie登录 php 编辑:程序博客网 时间:2024/06/04 17:47
js进阶学习之--闭包
闭包概念:一个函数引用另一个函数中的变量的函数叫做闭包
<script>//父函数中的变量不会被释放function closure(){var i = 0;return function(){alert(i++);}}//将函数的返回值接回var fn = closure();var fn2 = closure();fn(); //返回结果1fn(); //返回结果2fn2();//返回结果1//但是一般的函数,调用一次之后,函数的变量的值就会释放 function fn01(){var i = 0;alert(++i);} fn01();//返回结果:1 fn01();//返回结果1 fn01();//返回结果1</script>
闭包:对外公开调用内部的接口,外部可以调用
function fn01(){var a = 10;var b = 100;return {fn03:function(){console.log(a);},fn04:function(){console.log(b);}}}var fn = fn01();fn.fn03();function fn02(){var a = 10;function fn03(){console.log(a);}}<pre name="code" class="javascript"><span style="white-space:pre"></span>var fn = fn02();fn.fn03();
闭包实现li的点击事件
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>闭包3</title><script>window.onload = function(){var liList = document.getElementsByTagName("li");for(var i = 0; i < liList.length; i++){// 第一种方式:// function fn01(i){// liList[i].onclick = function(){// alert(i);// }// }// fn01(i);// 第二种方式:// (function(i){// liList[i].onclick = function(){// alert(i);// }// })(i);// 第三种方式:liList[i].onclick = (function(i){return function(){alert(i);}})(i);}}</script></head><body><ul><li>1111111</li><li>2222222</li><li>3333333</li><li>4444444</li></ul></body></html>
1 0
- js进阶学习之--闭包的理解
- js之深入理解js闭包
- 理解JS之this进阶
- js闭包的理解
- js 闭包的理解
- js闭包的理解
- js闭包的理解
- JS闭包的理解
- js闭包的理解
- js 闭包的理解
- js闭包的理解
- js 闭包的理解
- js闭包的理解
- js闭包的理解
- js闭包的理解
- js闭包的理解
- js闭包的理解
- js闭包的理解
- Linux网络编程【2】
- 快速幂取模(转载)
- 7种形式的Android Dialog使用举例
- 应用内切换主题有哪些方案可以实现
- javaweb--Tomcat>>更改Tomcat的默认配置
- js进阶学习之--闭包的理解
- 论高中“集”与C语言“数组”的关系
- XCode 快捷键
- 60. Permutation Sequence
- CODEFORCES 272D Dima and Two Sequences <排列组合>
- Cocos网络访问——代理模式(2)
- Hibernate应用的优化
- 二叉树
- POJ 1961 Period(KMP)