关于闭包的几个小栗子

第一个小栗子

function returnName(){
    var name = "hello";
    return function(){
    console.info(name);
  } }
returnName()();//hello

function returnName(value){
    var name = "hello "+value;
    return function(){
    console.info(name);
  } }
returnName('meimei')();//hello meimei

第二个小栗子

function fun(n,o){
  console.info(o);
  return{
    fun:function(m){
      return fun(m,n);
    }
  }
}

var a=fun(0);a.fun(1);a.fun(2);a.fun(3); // undefined 0 0 0

var a=fun(0);a.fun(1).fun(2).fun(3); // undefined 0 1 2

var a=fun(0).fun(1);a.fun(2);a.fun(3); // undefined 0 1 1

  详细分析请看http://www.cnblogs.com/xxcanghai/p/4991870.html#3436245

  

原文地址:https://www.cnblogs.com/bless19946/p/5870822.html