關於js變量兩個面試題

經典面試題
f1();
console.log(c);
console.log(b);
console.log(a);
function f1(){
   var a = b = c = 9;
   console.log(c);
   console.log(b);
   console.log(a);  
}
答案:9 9 9 9 9 undefined。
當調用函數f1()時,abc都等於9,所有會輸出三個9;
當輸出c和b時,由於c和b沒有var所以b和c屬於全局變量,輸出兩個9;
由於a屬於局部變量在外部沒有定義,所以輸出undefined。
**************************************************************
<script>
  var num = 10;
  fun();
  function fun (){
   console.log(num);  
   var num = 20;
 }
</script>
貌似第一眼看到有個全局變量num就會想到num會輸出10,然而輸出undefined。
當執行函數fun()時,在函數fun()裏,由於console.log(num);之前沒有定義num所以會輸出undefined。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章