第七章导读
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
闭包向来给包括 JavaScript 程序员在内的程序员以神秘,高深的感觉,事实上,闭包 的概念在函数式编程语言中算不上是难以理解的知识。如果对作用域,函数为独立的对象这样的基本概念理解较好的话,理解闭包的概念并在实际的编程实践中应用则颇有水到渠成之 感。
在 DOM 的事件处理方面,大多数程序员甚至自己已经在使用闭包了而不自知,在这种情况下,对于浏览器中内嵌的 JavaScript 引擎的 bug 可能造成内存泄漏这一问题姑且不论, 就是程序员自己调试也常常会一头雾水。
用简单的语句来描述 JavaScript 中的闭包的概念:由于 JavaScript 中,函数是对象,对象是属性的集合,而属性的值又可以是对象,则在函数内定义函数成为理所当然,如果在函数 func 内部声明函数 inner,然后在函数外部调用 inner,这个过程即产生了一个闭包。
在线练习
{$ activeFileHint $}