JavaScript 代码执行结果:undefined 和 11
查看如下代码:
function f1() {
console.log(x);
var x = 10;
++x;
console.log(x);
}
f1();
执行后的结果是:
undefined
11
解释:
这段代码涉及到 JavaScript 中变量声明提升的概念。在函数执行之前,JavaScript 会将所有变量声明提升到函数的顶部,但不会提升变量的赋值。
因此,当 console.log(x) 第一次执行时,x 还没有被赋值,所以输出的是 undefined。
之后,代码执行到 var x = 10,x 被赋值为 10。然后执行 ++x,将 x 的值增加到 11。最后,console.log(x) 输出 11。
总结:
JavaScript 中变量声明提升会导致在变量被赋值之前访问变量时输出 undefined。
原文地址: https://www.cveoy.top/t/topic/ozri 著作权归作者所有。请勿转载和采集!