闭包解析

function a (x){

  var z = 1;

  return function(y){

    alert(x+(y+1)+(z+1));

    //console.log(x);

    //console.log(y)

  }

}

var c = a(1);

//console.log(c)

c(2);

单单这样肯定还有很多还是一脸懵逼,我们吧c打印出来,逻辑久很清楚了,其实c方法的真实面目其实是这样的:

function(y){

  alert(y+(x+1)+(z+1)); //8

}

这样我们在匿名函数里面调用了a函数的z变量,这就是一个闭包函数

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容