以下代码段有何不同?
var a = 0;
function b(){
a = 10;
return function a(){};
}
b();
console.log(a); // => 10
并且
var a = 0;
function b(){
a = 10;
return
function a(){};
}
b();
console.log(a); // => 0
这与JavaScript变量提升有关,但我对该概念的理解恰好产生了相反的输出。
Translated: 这跟 JavaScript 中的变量提升有关,但是我的理解恰好得到了相反的结果。
return
关键字时,它会执行该操作,即“返回并退出函数b()”,JavaScript会自动在其后添加分号;
。请注意保持原文意思不变,同时将语言更改为通俗易懂的语言。 - Asons