提问人:Praveen 提问时间:7/22/2023 最后编辑:Praveen 更新时间:7/28/2023 访问量:41
功能声明是否在变量声明之前悬挂?
do functional declaration are hoisted before the variable declaration?
问:
如果函数声明在变量声明之前提升。在这种情况下,为什么我得到的是函数定义而不是未定义。
function a(){}
var a;
console.log(a); // ƒ a(){}
我预计变量声明将覆盖函数声明并变得未定义
答:
0赞
Asad Gulzar
7/22/2023
#1
由于您没有为变量赋值,因此在提升 JS 时,将未定义的值放置到变量中。undefined 不会覆盖任何值,这就是你得到一个函数的原因。
function a(){}
var a=1;
console.log(a); // result will be 1
评论
0赞
VLAZ
12/1/2023
"undefined 不会覆盖任何值,这就是你得到一个函数的原因。这是不正确的 - 微不足道地表明 is 的值是 。此外,提升变量不会重新赋值。这就是值不变的真正原因。x = 1; x = undefined;
x
undefined
评论