国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

做一個好前端必須要知道的事——JS語言

Near_Li / 875人閱讀

摘要:準確的理解,是編譯型語言,源代碼整個編譯成字節碼,字節碼,是解釋型語言。是一個非常靈活的語言,支持命令式和函數式編程。編譯型語言通常會用做配置文件,因為我們通常不會改編譯后的字節碼。

編程語言按各種方法可以分為各種類型,現在讓我們來看看JS屬于什么類型語言
解釋型語言

按編譯執行過程,可以分為編譯型語言和解釋型語言。比如

c 語言,必須先經過編譯生成目標文件,然后鏈接各個目標文件和庫文件,生成可執行文件。

Java、scala 則是先編譯成字節碼,然后解釋執行字節碼(可以理解為編譯型語言也可以理解為解釋型語言)。準確的理解,java 是編譯型語言,源代碼整個編譯成字節碼,java 字節碼,是解釋型語言。

Python 是解釋型語言,不過也可以先進行編譯,編譯成 python 的字節碼。

Javascript 是解釋型語言。目前貌似還沒有直接將 js 整個編譯然后才執行(有說法是 js 動態性太強,先整體編譯難度太大,執行性能不如解釋執行高)。

??注意:解釋型語言也是需要編譯的。區分編譯型語言和解釋型語言,是看源代碼是否整個編譯成目標代碼然后執行還是編譯一段執行一段。
對于傳統編譯型語言來說,編譯步驟分為:詞法分析、語法分析、語義檢查、代碼優化和字節生成。
但對于解釋型語言來說,通過詞法分析和語法分析得到語法樹后,就可以開始解釋執行了(根據語法樹和符號表生成機器碼)。
這也就解釋了為什么都說 js 是解釋執行的,讀一句執行一句,但是實際上 js 中還沒執行到的代碼語法錯誤導致整個 js 不會執行的問題。例如:

console.log("不會被console出來");
= // 這里的語法錯誤導致了上面的代碼也不會執行

其實js變量提升的現象也很明顯的證明了js是先編譯而后執行的
在瀏覽器中,多個

閱讀需要支付1元查看
<