JavaScript中闭包的应用
来源:互联网 发布:java执行vbs 编辑:程序博客网 时间:2024/06/07 17:22
闭包是有权访问另一个函数作用域中的变量的函数
作用域链: 作用域链就是函数在定义的时候创建的,用于寻找使用到的变量的值的一个索引,而他内部的规则是,把函数自身的本地变量放在最前面,把自身的父级函数中的变量放在其次,把再高一级函数中的变量放在更后面,以此类推直至全局对象为止。
内存回收机制: 如果这个函数内部又嵌套了另一个函数,而这个函数是有可能在外部被调用到的.并且这个内部函数又使用了外部函数的某些变量的话.这种内存回收机制就会出现问题。
闭包作用:一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。
1.函数作为返回值
function F1( ){ var a=100; return function ( ){ console.log(a); //自由变量,去父级作用域找 }}var f1=F1( );var a=200;f1( ); //100
2.函数作为参数传递
function F1( ){ var a=100; return function ( ){ console.log(a); //自由变量,去父级作用域找 }}var f1=F1( );function F2( fn){ var a=300; fn( );}F2(f1); //100
阅读全文
0 0
- JavaScript中闭包的应用
- JavaScript中闭包的简单应用
- Javascript随机的应用
- javaScript的一些应用
- 有趣的javascript应用
- javascript的高级应用
- javascript对象的应用
- javascript队列的应用
- JavaScript的应用浅谈
- JavaScript数组的应用
- JavaScript的应用
- JavaScript的应用二
- javascript定时器的应用
- javascript的getElementById()的应用
- javascript的getElementsByName()的应用
- javascript的getElementsByTagName()的应用
- javascript的hasChildNodes()的应用
- javascript的replaceChild的应用
- HDU1556:Color the ball(线段树区间更新单点求值)&&树状数组解法
- 变量类型和计算
- 2017第二次多校联合Regular polygon
- TypeError: 'module' object is not callable
- Java正则表达式
- JavaScript中闭包的应用
- CI的扩展机制
- 编程之外的修炼
- 画笔和画刷
- wifi数据传输APP操作小结
- POJ 1061 青蛙的约会
- QEMU调试Linux系统的USB协议栈
- 反射实例一
- C/C++传递方式