函数变量提拔递次

本日去口试有一个问题答错了

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();

函数先提拔,变量再提拔

    原文作者:VonWeb
    原文地址: https://segmentfault.com/a/1190000008463362
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞