//阮一峰例子
function f1() {
var n = 999;
function f2() {
console.log(n);
}
return f2;
}
var result = f1();
result();
result后面的括号,相当于是调用里面的函数f2,可以写成f1()();
ps:return f2其实是return一个function代码出来,再加一个(),就可以执行里面的function
//闭包我的理解
var name = "aaaa";
var person = function(lastname){
var name = 'bbbb';
function personName(){
return name + lastname;
}
return personName;
}
var pName = person();
pName("ccc:");
为了取person中的name:bbbb这个值,
就需要在person函数内部定义另一个函数取这个yang的值,然后在把取得这个值的函数return出来,此时,这个函数中任然获取这这个bbbb
然后再在外部调用这个内部函数即可取得这个bbbb的值