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

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

js的執行順序是怎樣的?

js的執行順序是怎樣的?

喵喵時光機 2018-11-20 13:19:58
1.沒弄懂js的執行順序,執行下面代碼,剛開始alert的時候,a還沒有聲明,不是應該直接報錯嗎?為什么先是顯示這個function,然后顯示10,顯示3,最后還報錯了?不是一開始就應該報錯了嗎?alert(a)a();var a=3;function a(){alert(10)}alert(a)a=6;a()
查看完整描述

1 回答

?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

問了下同學,知道了為什么會出現那樣的情況,首先要明白的概念
1.js中,變量聲明和函數聲明是會提前的,并且函數聲明會優于變量聲明。所以,在聲明a之前alert(a),并不會報錯。以及,第一個alert,出現的是a這個function,并不是變量a。
2.第二個alert,無需多言,只是執行a這個函數。
3.第三個alert,結果是3,因為運行到了這里之前,執行了 var a=3;。所以a變成了3。
4.最后報錯是因為,執行到a();a進行了兩次賦值,第一次是var a=3;,第二次是a=6;,但是無論怎樣,a都不是函數,所以報錯了。

查看完整回答
反對 回復 2018-12-21
  • 1 回答
  • 0 關注
  • 515 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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