// 瀏覽器的 ES6 環(huán)境
function f() { console.log('I am outside!'); }
(function () {
if (false) {
// 重復(fù)聲明一次函數(shù)f
function f() { console.log('I am inside!'); }
}
f();
}());
// Uncaught TypeError: f is not a function
允許在塊級(jí)作用域內(nèi)聲明函數(shù)。
函數(shù)聲明類似于var,即會(huì)提升到全局作用域或函數(shù)作用域的頭部烁峭。
同時(shí)囱稽,函數(shù)聲明還會(huì)提升到所在的塊級(jí)作用域的頭部郊尝。
實(shí)際相當(dāng)于下面的代碼
// 瀏覽器的 ES6 環(huán)境
function f() { console.log('I am outside!'); }
(function () {
var f = undefined;
if (false) {
function f() { console.log('I am inside!'); }
}
f();
}());
// Uncaught TypeError: f is not a function