js函數聲明

看下面三個例子

1.

var foo=1;
function foo(){console.log(123)};
console.log(foo);//1

知識點:函數聲明提前,最後賦值爲1,所以打印結果爲1.

 

2.

 

var foo=1;
foo=function(){console.log(123)};
console.log(foo);//function(){console.log(123)}

知識點:函數表達式聲明不提前,foo值開始爲1,後又賦值爲函數

 

3.

 

var foo=1;
function abc(){
  foo=10;
  return;
  function foo(){console.log(123)}
}
abc();
console.log(foo);//1

知識點:abc內部函數聲明提前,最後賦值爲10,相當於abc裏面有個局部變量foo=10;

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章