首頁  >  文章  >  web前端  >  javascript是編譯語言嗎

javascript是編譯語言嗎

青灯夜游
青灯夜游原創
2021-06-30 14:52:383111瀏覽

javascript不是編譯型語言,而是解釋型的程式語言。 javascript原始碼在發送到客戶端運行之前不需經過編譯,而是將文字格式的字元程式碼傳送給瀏覽器由瀏覽器解釋運行。

javascript是編譯語言嗎

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

javascript不是編譯型語言,而是解釋型或即時編譯型的程式語言。

編譯是將原始程式翻譯成可執行的目標程式碼,翻譯與執行是分開的;而解釋是對原始程式的翻譯與執行一次完成,不產生可儲存的目標程式碼。

JavaScript(簡稱「JS」) 是一種具有函數優先的輕量級,解釋型或即時編譯型的程式語言;JavaScript是在程式的運行過程中逐行進行解釋。

JavaScript的原始程式碼在發送到客戶端運行之前不需經過編譯,而是將文字格式的字元程式碼傳送給瀏覽器由瀏覽器解釋執行。直譯語言的弱點是安全性較差,而且在JavaScript中,如果一條運行不了,那麼下面的語言也無法運作。而其解決方法就是於使用try{}catch(){},其中,catch()中會傳入錯誤訊息。

console.log("a");//这是正确的
 console.log("b");//这是正确的
 console.logg("c");//这是错误的,并且到这里会停下来
 console.log("d");//这是正确的
 console.log("e");//这是正确的
 
 /*解决办法*/
 try{console.log("a");}catch(e){}//这是正确的
 try{console.log("b");}catch(e){}//这是正确的
 try{console.logg("c");}catch(e){}//这是错误的,但是到这里不会停下来,而是跳过
 try{console.log("d");}catch(e){}//这是正确的
 try{console.log("e");}catch(e){}//这是正确的

JavaScript被歸類為直譯語言,因為主流的引擎都是每次執行時載入程式碼並解譯。 V8是將所有程式碼解譯後再開始運行,其他引擎則是逐行解譯(SpiderMonkey會將解譯過的指令暫存,以提高性能,稱為實時編譯),但由於V8的核心部分多數用JavaScript撰寫(而SpiderMonkey是用C ),因此在不同的測試上,兩者效能互有優劣。與其相對應的是編譯語言,例如C語言,以編譯語言編寫的程式在運行之前,必須經過編譯,將程式碼編譯為機器碼,再加以執行。

編譯型語言VS 解釋型語言

#1、與電腦的溝通方式不同

解釋程式不產生目標程式碼,它逐條地取出原始程式中的語句,邊解釋,邊執行;解釋器把原始碼檔案邊解釋成機器語言邊交給CPU執行。

編譯是將原始程式翻譯成可執行的目標程式碼,執行可執行程式文件,翻譯與執行是分開的。

2、運行速度

解釋程式運行效率低,所有的程式碼均需經過解釋器邊解釋變執行,速度比編譯型慢很多

編譯程式執行速度快,因為你的程式碼已經翻譯成了是電腦可以理解的機器語言。

【相關推薦:javascript學習教學

#

以上是javascript是編譯語言嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn