亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript函數體內的變量聲明問題

JavaScript函數體內的變量聲明問題

楊__羊羊 2019-03-03 17:39:18
分別執行上面的兩個函數,F1不會報錯,F2報錯提示變量重復。如果函數的參數a是以let a的形式聲明的,那么函數體內無論是var a還是let a都應該是重復聲明變量的啊,難道不是都應該會報錯的嗎?為什么只有F1報錯呢?求大神指導~
查看完整描述

2 回答

?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

首先說 
“如果函數的參數a是以let a的形式聲明的,” 這里你傳遞的參數并沒有通過let聲明;
再說
就算你傳遞的參數是通過let聲明的,聲明是在這個函數執行的作用域外,也不影響函數內部的let聲明;

之所有前面不報錯是因為參數本質上就是函數內部的一個var 聲明對象,所以再次var 聲明覆蓋是沒有問題的。
let聲明則不允許覆蓋前面的同名聲明


查看完整回答
反對 回復 2019-03-05
  • 2 回答
  • 0 關注
  • 547 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號