函數變量提高順序

今天去面試有一個題目答錯了面試

var getName = function() {
    alert(1);
};
function getName() {
    alert(2);
}
getName();

我答alert(1)——是不可能滴,我答錯了回答alert(2), 我覺得至關於重複定義一個函數,第二個覆蓋第一個,結果大錯特錯。
我回來實驗,alert(1)。我想應該是變量提高(hosting)吧,實際執行順序應該是函數

function getName() {
  alert(2);
}
var getName;

getName = function() {
    alert(1);
}
getName();

函數先提高,變量再提高code

相關文章
相關標籤/搜索