看过网上关于javascript的闭包的概念和分析,看完之后都是一头雾水,完全不懂,零度我本来就对于概念性的东西很烦躁,没办法,硬着头皮翻阅了很多的资料,总算理清了一点头绪,现在分享给大家,错误之处还请大家指正!
闭包,简单的定义就是能够读取到函数内部变量的函数,最简单的形式就是:
function fn1 () { var a=2; function fn2 () { alert(a); } return fn2; } fn1()(); // 2 alert(a); // undefined
这里,第一次会弹出2,第二次弹出undefined,大家可以看到,我们可以用fn2函数来读取到fn1函数的内部变量a,而直接读取则是undefined。这里的fn2其实就是闭包。
综上所述,闭包就是我们想要获取到一个函数内部的变量,在这个函数的内部放一个函数,用来获取到当前函数的内部变量,而放入的这个函数就是闭包。
本文通过一个简单示例解释了JavaScript中闭包的概念。闭包能够让一个函数访问并操作另一个函数作用域内的变量,即使该函数已经执行完毕。文章提供了一个易于理解的例子,展示了如何创建闭包以及它的工作原理。
228

被折叠的 条评论
为什么被折叠?



