-2
我讀的Javascript權威指南,我遇到了一個關於功能範圍說明:「JavaScript的功能範圍是指在函數內聲明的所有變量在整個函數的身體都可見」
由於巴()有在函數foo()中聲明瞭一個變量b,爲什麼在這種情況下b沒有被提升,並且輸出不是未定義的(內部變量b應該在foo()的整個主體中可見)?爲什麼變量b在這個例子中沒有懸掛?
var b =5 ;
function foo(x)
{
console.log(b);
function bar()
{
var b=4;
}
}
foo(4);
你回答你自己的問題。由於bar是一個函數,因此b的作用域爲bar。對foo來說是不可見的。只有酒吧是可見的,但酒吧內的一切都不是。 – Shilly