闭包外层函数调用两次会创建两个副本?

function fn(){

    var a=1;

  return function(){

    console.log(a++);

 }

}

var fn1=fn()

fn1()//     输出1

fn1()//     输出2

var fn2=fn()

fn2()

//认为输出3   测试结果为1  ??      

fn2()//          


qq_Imreborn_0
浏览 1479回答 1
1回答

李晓健

因为你每调一次 fn  a就会被重新赋值为1呀。所以调了一次fn 就相当于是2个副本。如果你问题已解决,请记得采纳答案!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript