查看如下代码:

function f1() {
  console.log(x);
  var x = 10;
  ++x;
  console.log(x);
}

f1();

执行后的结果是:

undefined
11

解释:

这段代码涉及到 JavaScript 中变量声明提升的概念。在函数执行之前,JavaScript 会将所有变量声明提升到函数的顶部,但不会提升变量的赋值。

因此,当 console.log(x) 第一次执行时,x 还没有被赋值,所以输出的是 undefined

之后,代码执行到 var x = 10x 被赋值为 10。然后执行 ++x,将 x 的值增加到 11。最后,console.log(x) 输出 11

总结:

JavaScript 中变量声明提升会导致在变量被赋值之前访问变量时输出 undefined

JavaScript 代码执行结果:undefined 和 11

原文地址: https://www.cveoy.top/t/topic/ozri 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录