能够读取其他函数内部变量的函数 function f1(){ var n=999; function f2(){ alert(n); // 999 } } var m = f1() 变量n是f1内部定义的变量,外部是访问不到的,我们通过fi返回一个函数f2的形式访问到了内部的变量n,这就形成了一个闭包 闭包的作用 1、会一直存在变量中:内部变量n不会随着f1的结束而被垃圾清理器清理,因为变量n被赋值给了全局变量m 2、可以读取函数内部的变量