今天去面試有一個題目答錯了面試
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