国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - js的執行順序是怎樣的?

瀏覽:92日期:2023-05-12 14:17:05

問題描述

1.沒弄懂js的執行順序,執行下面代碼,剛開始alert的時候,a還沒有聲明,不是應該直接報錯嗎?為什么先是顯示這個function,然后顯示10,顯示3,最后還報錯了?不是一開始就應該報錯了嗎?

alert(a)a();var a=3;function a(){alert(10)}alert(a)a=6;a()

javascript - js的執行順序是怎樣的?

問題解答

回答1:

問了下同學,知道了為什么會出現那樣的情況,首先要明白的概念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都不是函數,所以報錯了。

回答2:

第一個輸出 function 是因為作用域提升(hoisting)。第二個輸出 10 是第二行 a() 的輸出。第三個輸出 3 是倒數第三行 alert(a) 的輸出。最后一個報錯是來自最后一行 a()。因為這時候 a 被重新賦值為數字 6,已經不是 function 了。執行 a() 當然會報錯。

回答3:

變量聲明提升么,記住下面幾條規則就好了。

http://zonxin.github.io/post/...

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 日韩一级精品久久久久 | 久久草在线免费 | 亚洲加勒比久久88色综合一区 | 日韩一级精品久久久久 | 亚洲 欧美 精品 中文第三 | 天天都色| 国产亚洲免费观看 | 久久中文字幕久久久久 | 特及毛片 | 亚洲综合伦理一区 | 亚洲美女性视频 | 清纯偷拍精品视频在线观看 | 国内一级特黄女人精品片 | 久久久久久综合一区中文字幕 | 亚洲精品免费在线 | 午夜怡红院 | 免费一区二区三区在线视频 | 国产精品国产亚洲精品不卡 | 黄色美女网站免费看 | 综合在线视频精品专区 | 美女张开双腿让男人桶 | 一级毛片免费不卡在线 | 日韩精品中文字幕一区三区 | 免费在线成人 | 人人公开免费超级碰碰碰视频 | 久久精品中文字幕首页 | 欧美一区二区aa大片 | 国内精品久久久久影院网站 | 萌白酱粉嫩jk福利视频在线观看 | 亚洲人欧洲日韩 | 亚洲精品国产一区二区图片欧美 | 久视频免费精品6 | 久久精品一区二区三区中文字幕 | 欧美日韩另类综合 | 欧洲色老头 | 美女131爽爽爽做爰中文视频 | 久久久国产精品免费 | 精品国产一区二区三区久久影院 | 日韩欧美在线播放 | 99久久精品免费看国产一区二区 | 国内精自线一二区 |