今天去面试有一个题目答错了
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();
函数先提升,变量再提升
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。