我是編程新手。我正在關注JavaScript的tuturial。但是我對jit compilar和解釋器感到困惑。 javscript是從源代碼翻譯成字節/本地代碼。用jit compilar或解釋器?或者取決於您正在運行的瀏覽器和JavaScript引擎。是javascript解釋還是jit編譯
感謝您的respons
我是編程新手。我正在關注JavaScript的tuturial。但是我對jit compilar和解釋器感到困惑。 javscript是從源代碼翻譯成字節/本地代碼。用jit compilar或解釋器?或者取決於您正在運行的瀏覽器和JavaScript引擎。是javascript解釋還是jit編譯
感謝您的respons
JavaScript是腳本語言和瀏覽器中執行腳本這是在文本格式。所以根據定義,這使JavaScript解釋語言。
編譯語言是從二進制文件執行的語言。
JIT編譯只是JavaScript引擎可以做的一種優化方式,但是您永遠不會真正生成二進制JS文件,因此語言被解釋爲一種。
雖然「interpeted language」的含義是主觀的,但我傾向於使用Wikipedia:*「解釋型語言是一種編程語言,其大部分實現可以直接執行指令,而無需事先將程序編譯爲機器語言指令」* 。由於最流行的JavaScript引擎編譯爲本機機器碼,我不同意你的答案。恕我直言,「解釋型語言」是無意義的,因爲你可以爲任何語言編寫解釋器。 –
有一點指向它,我只是傾向於使它更實用,如果它是腳本語言,那麼它會被解釋。而且,在javascript的情況下並不那麼簡單,因爲有很多enignes,甚至那些使用jit的用戶總是不會使用它。 https://docs.google.com/document/d/11T2CRex9hXxoJwbYqVQ32yIPMh0uouUZLdyrtmMoL44/edit?pli=1#heading=h.6jz9dj3bnr8t – sielakos
有趣的閱讀! –
Javascript是一種解釋型語言,它由瀏覽器直接解釋執行。
但是,現代瀏覽器支持JIT編譯,將其轉換爲字節碼以實現高性能。
https://en.wikipedia.org/wiki/JavaScript第一句話,在第三段中有更多信息。 – str
是的,有時候。是。是。 – Bergi