4.闭包:闭包是有权访问另外一个函数作用域中变量的函数,即在一个函数内部创建另外一个函数
// fun返回的是函数 function fun() { var str = "Hello world"; // fun1被称之为是闭包 function fun1() { alert(str); } return fun1; } var f = fun(); f(); // Hello world
简单小例子: function test(){ //str是test函数范围内的全局变量 var str = 'hello'; //函数是弹出str //闭包函数 function getStr(){ alert(str); } //返回函数名 return getStr; } //fun()函数访问到test()函数内的局部变量 var fun = test(); fun();