javascript之闭包
对应有道云笔记地址(有道云上排版更优):http://note.youdao.com/noteshare?id=7fbc98d0ced90067853ceb21d39a92a6&sub=82FEBD809F7A469FA6B249EB59195473
定义:能够读取其他函数内部变量的函数(函数中声明的函数)
特点:
1.能读取其他函数内部的变量
2.让函数的变量始终保存在内存中,不被释放(为什么内存没被释放,请参考“javascript内存分析”)
注意下边俩个列子
eg1:
function func1(){
console.log(a)
};
function func2(){
var a = 1;
var func = func1;
func()
}
var a = 0;
func2();
eg2:
var boss2 = {
returnThis:function(){
var fun = function(){console.log(this)};
fun()
}
}
boss2.returnThis();//如果在其他所有对象的上下文之外使用 this,则它指的是 全局对象。
不自见,故明;不自是,故彰;不自伐,故有功;不自矜,故长。