封装只是闭包的一个很小的应用。其实你只要写js就天天在用闭包。广义上讲,全局变量就是一个大全局作用域里的变量,你定一个函数,里面能访问全局变量,就是利用了闭包的特性。
var a;
function() {
// 可以访问到 a
var b;
function () {
// 可以访问到 a和b
}
}
按照我个人理解,凡是词法作用域的语言,都必须有闭包来实现词法作用域。
【 在 bater (Bater) 的大作中提到: 】
: 稍微理解了一些javascript里闭包的用法,但还是不太明白闭包要在什么情况下使用。
: 按我自己浅显的理解,闭包好像是为了实现静态变量和能起到类似 Class 的作用。这样就能封装代码,让程序能按照面向对象的思路来编写。不知道我理解的对不对。
: 工作中大家运用闭包和封装做哪些工作呢
: ...................
--
FROM 123.120.187.*