javascript中的变量逻辑

时间:2017-12-05 07:04:05

标签: javascript

我有一些代码: 为什么打印' undefined'和' B'在我的浏览器上。你能帮我解释一下吗?

var x = 'A';

function func(){
  document.write(x);
  var x = "B";
  document.write(x);
};

func();

1 个答案:

答案 0 :(得分:0)

它是JavaScript Hoisting。在您的示例x中,该函数被挂起。在JavaScript中,变量声明仅被提升,而不是它们的初始化。

<强>更新

关于ES6,constlet声明未被提升。