javascript是不是編譯語(yǔ)言

這篇文章主要講解了“javascript是不是編譯語(yǔ)言”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“javascript是不是編譯語(yǔ)言”吧!

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到鄂城網(wǎng)站設(shè)計(jì)與鄂城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋鄂城地區(qū)。

javascript不是編譯型語(yǔ)言,而是解釋型的編程語(yǔ)言。javascript源代碼在發(fā)往客戶(hù)端運(yùn)行之前不需經(jīng)過(guò)編譯,而是將文本格式的字符代碼發(fā)送給瀏覽器由瀏覽器解釋運(yùn)行。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

javascript不是編譯型語(yǔ)言,而是解釋型或即時(shí)編譯型的編程語(yǔ)言。

編譯是將源程序翻譯成可執(zhí)行的目標(biāo)代碼,翻譯與執(zhí)行是分開(kāi)的;而解釋是對(duì)源程序的翻譯與執(zhí)行一次性完成,不生成可存儲(chǔ)的目標(biāo)代碼。

JavaScript(簡(jiǎn)稱(chēng)“JS”) 是一種具有函數(shù)優(yōu)先的輕量級(jí),解釋型或即時(shí)編譯型的編程語(yǔ)言;JavaScript是在程序的運(yùn)行過(guò)程中逐行進(jìn)行解釋。

JavaScript的源代碼在發(fā)往客戶(hù)端運(yùn)行之前不需經(jīng)過(guò)編譯,而是將文本格式的字符代碼發(fā)送給瀏覽器由瀏覽器解釋運(yùn)行。直譯語(yǔ)言的弱點(diǎn)是安全性較差,而且在JavaScript中,如果一條運(yùn)行不了,那么下面的語(yǔ)言也無(wú)法運(yùn)行。而其解決辦法就是于使用try{}catch(){},其中,catch()中會(huì)傳入錯(cuò)誤信息。

console.log("a");//這是正確的
 console.log("b");//這是正確的
 console.logg("c");//這是錯(cuò)誤的,并且到這里會(huì)停下來(lái)
 console.log("d");//這是正確的
 console.log("e");//這是正確的
 
 /*解決辦法*/
 try{console.log("a");}catch(e){}//這是正確的
 try{console.log("b");}catch(e){}//這是正確的
 try{console.logg("c");}catch(e){}//這是錯(cuò)誤的,但是到這里不會(huì)停下來(lái),而是跳過(guò)
 try{console.log("d");}catch(e){}//這是正確的
 try{console.log("e");}catch(e){}//這是正確的

JavaScript被歸類(lèi)為直譯語(yǔ)言,因?yàn)橹髁鞯囊娑际敲看芜\(yùn)行時(shí)加載代碼并解譯。V8是將所有代碼解譯后再開(kāi)始運(yùn)行,其他引擎則是逐行解譯(SpiderMonkey會(huì)將解譯過(guò)的指令暫存,以提高性能,稱(chēng)為實(shí)時(shí)編譯),但由于V8的核心部分多數(shù)用JavaScript撰寫(xiě)(而SpiderMonkey是用C++),因此在不同的測(cè)試上,兩者性能互有優(yōu)劣。與其相對(duì)應(yīng)的是編譯語(yǔ)言,例如C語(yǔ)言,以編譯語(yǔ)言編寫(xiě)的程序在運(yùn)行之前,必須經(jīng)過(guò)編譯,將代碼編譯為機(jī)器碼,再加以運(yùn)行。

編譯型語(yǔ)言 VS 解釋型語(yǔ)言

1、與計(jì)算機(jī)的交流方式不同

解釋程序不產(chǎn)生目標(biāo)代碼,它逐條地取出源程序中的語(yǔ)句,邊解釋?zhuān)厛?zhí)行;解釋器把源代碼文件邊解釋成機(jī)器語(yǔ)言邊交給CPU執(zhí)行。

編譯是將源程序翻譯成可執(zhí)行的目標(biāo)代碼,執(zhí)行可執(zhí)行程序文件,翻譯與執(zhí)行是分開(kāi)的。

2、運(yùn)行速度

解釋程序運(yùn)行效率低,所有的代碼均需經(jīng)過(guò)解釋器邊解釋變執(zhí)行,速度比編譯型慢很多

編譯程序執(zhí)行速度快,因?yàn)槟愕某绦虼a已經(jīng)翻譯成了是計(jì)算機(jī)可以理解的機(jī)器語(yǔ)言。

感謝各位的閱讀,以上就是“javascript是不是編譯語(yǔ)言”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)javascript是不是編譯語(yǔ)言這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)頁(yè)名稱(chēng):javascript是不是編譯語(yǔ)言
文章網(wǎng)址:http://bm7419.com/article24/gegcce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、企業(yè)建站、網(wǎng)站維護(hù)、定制網(wǎng)站、定制開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化