读书人

闭包的用场

发布时间: 2012-11-21 08:23:25 作者: rapoo

闭包的用处
延迟调用

setTimeout 函数允许在指定时间之后在全局对象(window 对象)里执行一个无参数函数。利用闭包的特性,我们就可以给这个函数传递参数。

var parse = function(){    var list = ['t', 'n', '\' /* other */];    return function(str /* 要解析的目标字符串 */) {        //do parse    };}(); parse('hello');


这样,不管调用多少次 parse 函数,特殊字符列表都不会重新初始化了,而且外部任何地方都无法访问这个列表。

通过闭包可以做什么,以上只是举两个比较常见的例子,有一篇文章说闭包什么都可以做。有的时候不用闭包可能也可以实现相应的功能,但闭包使 JavaScript 变得更加灵活,可以让你写出更加优雅的代码。要详细解答这个问题要通过大量的实践和总结了,我们只要对它的原理理解了,平时开发的时候多思考,就知道该不该用闭包了。

-EOF-

读书人网 >Web前端

热点推荐