当前位置: 代码迷 >> 综合 >> 闭包解析
  详细解决方案

闭包解析

热度:87   发布时间:2023-09-14 17:50:41.0

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变量,这就是一个闭包函数

  相关解决方案