Rumah  >  Artikel  >  hujung hadapan web  >  javascript是编译语言吗

javascript是编译语言吗

青灯夜游
青灯夜游asal
2021-06-30 14:52:383160semak imbas

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学习教程

Atas ialah kandungan terperinci javascript是编译语言吗. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:javascript中this什么意思Artikel seterusnya:javascript中for in语句怎么用