函数内部的变量提升

与全局作用域一样,函数作用域内部也会产生“变量提升”现象。

var命令声明的变量,不管在什么位置,变量声明都会被提升到函数体的头部。

function foo(x) {
  if (x > 100) {
    var tmp = x - 100;
  }
}

// 等同于
function foo(x) {
  var tmp;
  if (x > 100) {
    tmp = x - 100;
  };
}

 

你可能感兴趣的:(js基础)