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,波同學可不可以解釋一下這種情況嗎呀洲? 按照波同學的意思尼变,參數(shù)arguments在創(chuàng)建階段應(yīng)該是優(yōu)先級最高的,那么執(zhí)行test(4)時, foo被賦值為“4”的這一步是在Context的執(zhí)行階段進行锦聊,還是在創(chuàng)建階段進行呢歹嘹?如果是在執(zhí)行階段,那這個算是賦值操作吧孔庭,理應(yīng)會覆蓋原本函數(shù)foo的聲明吧尺上?
第二個demo更疑惑,如果用了ES6的默認值圆到,最終的輸出值就只會是4