變量所以,我偶然發現了這種行爲JavaScript的提升來自未執行分支
var foo = "bar";
(function(){
if(false) {
var foo = "this truns the variable to undefined";
}
console.log(foo); // => undefined
})();
我理解提升的概念。但是,不應該只在分支執行時纔會發生?
var foo = "bar";
(function(){
if(false) {
foo = "this scenario is just fine";
}
console.log(foo); // => "bar"
})();
沒有。它不管執行情況如何。 –
你是什麼意思的「預設?」舊IE中的 –
是的,在較新的瀏覽器中沒有。相同的功能語句btw ... – dandavis