Skip to content
陈广亮的技术博客
Go back

深入理解函数声明提升与变量声明提升

var foo = 1;
(function () {
  console.log(foo); // undefined(变量提升)
  var foo = 2;
})();
var a = 1;
function b() {
  a = 10;
  return;
  function a() {} // 函数声明提升,a 变成局部变量
}
b();
alert(a); // 1

第二个例子中,function a() {} 被提升到 b() 内部顶部,所以 a = 10 修改的是局部的 a,而非全局的。


Share this post on:

Previous Post
背包问题 JS 实现
Next Post
Underscore pluck 方法