鍍金池/ 問答/HTML/ 一道騰訊的前端筆試題 關于閉包和變量提升的

一道騰訊的前端筆試題 關于閉包和變量提升的


    var a = 1;
   console.log(a);//1
function fn(){
    console.log(a);//undefined
    var a = 5;
    console.log(a); //5
    a++;
    var a;
    fn3();  //1
    fn2(); //6
    console.log(a);//20
 function fn2(){
     console.log(a); 
     a = 20;
 }
}

function fn3(){
    console.log(a);
    a = 200;
}

fn();
console.log(a);//200

最后這里的console報的是200我很不理解,這里的a是到函數fn里去找的,那為什么a會找到fn3函數里呢?

回答
編輯回答
命于你

哪里錯了 ?

2018年1月4日 05:56
編輯回答
孤毒

我這也沒報錯。

2018年5月27日 00:38