function test(foo){
var foo;
function foo(){console.log(111)}
console.log(foo)
}
test(4) // function foo(){console.log(111)}
****************************
function test(foo=7){
var foo;
function foo(){console.log(111)}
console.log(foo)
}
test(4) //4
************************
第一個demo鉴未,波同學(xué)可不可以解釋一下這種情況嗎间涵? 按照波同學(xué)的意思舔琅,參數(shù)arguments在創(chuàng)建階段應(yīng)該是優(yōu)先級最高的草戈,那么執(zhí)行test(4)時, foo被賦值為“4”的這一步是在Context的執(zhí)行階段進(jìn)行,還是在創(chuàng)建階段進(jìn)行呢岸蜗?如果是在執(zhí)行階段埃难,那這個算是賦值操作吧,理應(yīng)會覆蓋原本函數(shù)foo的聲明吧构挤?
第二個demo更疑惑髓介,如果用了ES6的默認(rèn)值,最終的輸出值就只會是4
前端基礎(chǔ)進(jìn)階(三):變量對象詳解變量對象筋现,在新版本中唐础,準(zhǔn)確的說法應(yīng)該是環(huán)境記錄對象,而環(huán)境記錄對象矾飞,又區(qū)分詞法環(huán)境對象與變量環(huán)境對象一膨,詞法環(huán)境對象用于解析當(dāng)前上下文中,由 const 聲明的標(biāo)識符引用洒沦,變量...