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

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

javascript 的函數在執行前被解析是否合理?

javascript 的函數在執行前被解析是否合理?

LEATH 2019-04-16 20:27:29
因為函數會被提前解析,導致if的條件無效了。如:if(test){functiona(){alert(1);}}else{functiona(){alert(2);}}a();無論test是true還是false,都會執行alert(2);
查看完整描述

2 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

請不要混淆函數聲明與函數表達式。
if(test){
functiona(){
alert(1);
}
}else{
functiona(){
alert(2);
}
}
a();
等價於
functiona(){
alert(1);
}
functiona(){
alert(2);
}
if(test){
}else{
}
a();
這是js的性質,沒有什麼合不合理性可言。存在即合乎理性,合乎理性即存在。
但是否合乎情理就值得商榷了??紤]到這種寫法的誤導性並且本身沒什麼意義,ES6發生了改變。不過一直用嚴格模式的路過~
                            
查看完整回答
反對 回復 2019-04-16
  • 2 回答
  • 0 關注
  • 318 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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