JS页面获取 session 值,作用域和闭包学习笔记(2)

闭包:在js中的我的理解就是把外部的变量引用到函数内部形成一个完全封闭的函数体;当内部函数在定义它的作用域的外部被引用时,就创建了该内部函数的闭包 ,如果内部函数引用了位于外部函数的变量,当外部函数调用完毕后,这些变量在内存不会被释放,因为闭包需要它们。

所以本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。

用途:闭包可以读取函数外部的变量,可以让变量的值始终保持在内存中。

使用闭包要注意:

1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。

2)闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/edf4d3fbb2c53d511919c4243e1b8828.html