欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

javascript是编译语言吗

程序员文章站 2022-03-09 17:55:32
...

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是编译语言吗的详细内容,更多请关注其它相关文章!