一个带点坑的题

172 阅读1分钟
  • 参数作为局部变量被闭包引用;
var a= 0 , b = 0;
function A(a){
  A = function(b){
    console.log(a+b++);
  }
  console.log(a++);
}

A(1) //输入1, 并且A被重新赋值为function(b){console.log(a+b++)},此时形成闭包,a为局部变量,a++后 已经变为2
A(2) // 执行 function(b){console.log(a+b++)} 2+2输入4;