• 摘要:《JavaScript基础与案例开发详解》(张孝祥,徐明华)第2章JavaScript环境,本章力求让读者了解JavaScript的开发环境、运行环境,和开发中会遇见的一些问题,做好学习前的准备。本节为大家介绍解释型语言。
  • 本文内容来自互联网。。。

2.6  解释型语言

虽然无法确定计算机可以聪明到什么程度,但可以确定的是,不通过辅助工具的话它可不认识英文单词。

对程序来说,计算机需要一个"翻译",即把程序代码变成计算机可以理解的语言:0和1组成的包含信息的序列。目前存在两种翻译类型:一个是编译,一个是解释。两种方式都需要对代码进行翻译,只是翻译的时间不同而已。

编译型语言在计算机运行代码前,先把代码翻译成计算机可以理解的文件,比如EXE文件。这样说有些不太准确,实际上在生成EXE文件之前,还要做一个整合的操作,但这不是本节要关心的。这个EXE文件只需要经过一次编译就可以运行了,而且除非修改代码,否则都不需要重新编译。所以编译型语言的程序执行效率高。

解释型语言则不同,解释型语言的程序不需要在运行前编译,在运行程序的时候才翻译,专门的解释器负责在每个语句执行的时候解释程序代码。这样解释型语言每执行一次就要翻译一次,效率比较低。

介绍这些知识,并不是为了比较两种类型的优劣,由于JavaScript属于解释型语言,这就表示每句代码只有在运行时,系统才知道这句代码是否有错。换句话说,由于编译型语言在运行前进行了编译,编译器对所有代码都进行了检查,这样就不会产生一些低级错误,例如使用了不存在的名字,或者使用了错误的名字。而JavaScript就可能会出现这些问题。

目前的大部分工具,对JavaScript脚本语言的调试都支持得不是很好,这主要是由语言性质决定的。

虽然在编写简单脚本的时候,这并不是什么大问题,但随着Web应用不断变化的需求,编写大量脚本是不可避免的,这就需要开发者更细心、更专心地对付这些脚本了。无怪乎很多人说JavaScript比Java还难。

javascript——什么是解释型语言?的更多相关文章

  1. JavaScript DOM编程艺术 - 读书笔记1-3章

    1.JavaScript语法 准备工作 一个普通的文本编辑器,一个Web浏览器. JavaScript代码必须通过Html文档才能执行,第一种方式是将JavaScript代码放到文档<head& ...

  2. Javascript:作用域 学习总结

    作用域(scope): 变量与函数的可访问范围,控制着变量与函数的可见性和生命周期   作用域分类: javascript中,变量的作用域分为:全局作用域,局部作用域 局部变量的优先级大于全局变量,或 ...

  3. 简述JavaScript作用域与作用域链

    关于变量作用域的知识,相信学习JavaScript的朋友们一定早已经接触过,这里简单列举: JavaScript中变量是以对象属性的形式存在的:全局变量是全局对象的属性:局部变量是声明上下文对象的属性 ...

  4. javascript基础编程の变量、对象、数据类型及函数

    在web标准中.网页由结构.表现形式和行为三个部分组成. 结构标准---->XHTML: 表现形式标准----->CSS: 行为标准----->javascript: javascr ...

  5. JavaScript - this详解 (一)

    侃侃JavaScript中的this this为何如此多变? this总是跟它的执行上下文有关,而在JavaScript总会有开辟新的执行上下文的东西,比如函数,所以,this才如此的变化. 执行环境 ...

  6. JavaScript 运行原理

    i{margin-right:4px;margin-top:-0.2em}.like_comment_tips .weui-icon-success{background:transparent ur ...

  7. Sea.Js的运行原理(转)

    1.CMD(Common Module Definition)规范 Sea.js采用了和Node相似的CMD规范,使用require.exports和module来组织模块.但Sea.js比起Node ...

  8. 从C#到TypeScript - Reflect

    总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...

  9. Python介绍以及安装

    Python介绍以及安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 借用我的导师的一句话:当你看到这篇文章的时候,那么恭喜你,你已经是踏入了开发的大门!欢迎加入:高级运维工程师 ...

随机推荐

  1. Postgres 10.11安装教程

    Postgres搭建 考虑到Drone和Sonarqube等都需要借助Postgres存储,为了保证CI服务的高效的工作,将考虑独立其中依赖的数据库,避免在繁忙时占用过多资源从而影响整体CI的速度. ...

  2. Linux基础命令之.命令

    . 点命令 .命令等同source 可以让配置文件被读到进程中,立刻生效

  3. 小C和小派的缠绵爱情——C语言调用Python代码

    我妒忌你的开源,你眼红我的速度,不如我们就在一起吧! --------SJ2050 2019.4.9号更新:实现在未安装python环境的机子上运行调用了python程序的C语言代码! 文章目录 环境 ...

  4. Django折腾日记(django2.0)

    新建项目 django-admin startproject mysite 运行 python manage.py runserver 创建一个应用 python manage.py startapp ...

  5. 看完本文若不能让你学通“Python”,我将永远退出IT界

    学Python,切忌今天这学一点,明天那里学一点,零零散散没有系统的学习.这样不仅耽搁大家时间,久而久之也会消磨大家学习的兴致!这里给大家总结了一张系统的Python学习路线图!希望大家共勉! Pyt ...

  6. SSM中 web.xml配置文件

    <!--核心监听器 当tomcat(web容器,应用服务器,web服务器)启动的时候创建spring 工厂类对象,绑定到tomcat上下文中 --> <listener> &l ...

  7. 面试不再慌,看完这篇保证让你写HashMap跟玩一样

    今天这篇文章给大家讲讲hashmap,这个号称是所有Java工程师都会的数据结构.为什么说是所有Java工程师都会呢,因为很简单,他们不会这个找不到工作.几乎所有面试都会问,基本上已经成了标配了. 在 ...

  8. Java 第三课 数组排序

    1.java.util.Arrays.sort(arr)  //升序 2.冒泡排序:相邻元素比较 for (int i=0; i <arr.length-1; i++){//内部遍历一次,确定最 ...

  9. 读高性能Mysql摘要

    类型相关 INT(1)和INT(20)对于存储和计算来说,意义是相同的,他不会限制值的合法范围,只是一些交互工具会用来显示字符的个数 默认是有符号的,可以指定为无符号,增加数据存储范围,如0-255, ...

  10. 分布式雪花算法获取id

    实现全局唯一ID 一.采用主键自增 最常见的方式.利用数据库,全数据库唯一. 优点: 1)简单,代码方便,性能可以接受. 2)数字ID天然排序,对分页或者需要排序的结果很有帮助. 缺点: 1)不同数据 ...