闭包那点事

var obj = {
a:1,
b:2,
fun:function(){
// a没有在fun函数的作用域之内或者之外声明定义(var..)
// a只是obj的一个属性名
console.log(a) //underfined
}
}
obj.fun()
function fun(n,o){
console.log(o)
return{
fun:function(m){
return fun(m,n)
}
}
}
var a = fun(0);
console.log(a)
a.fun(1)
a.fun(2)
a.fun(3)

var b = fun(0).fun(1).fun(2).fun(3)

var c = fun(0).fun(1);
c.fun(2);
c.fun(3);
原文地址:https://www.cnblogs.com/lzq035/p/7930638.html