javascript——什么是解释型语言?
- 摘要:《JavaScript基础与案例开发详解》(张孝祥,徐明华)第2章JavaScript环境,本章力求让读者了解JavaScript的开发环境、运行环境,和开发中会遇见的一些问题,做好学习前的准备。本节为大家介绍解释型语言。
- 本文内容来自互联网。。。
2.6 解释型语言
虽然无法确定计算机可以聪明到什么程度,但可以确定的是,不通过辅助工具的话它可不认识英文单词。
对程序来说,计算机需要一个"翻译",即把程序代码变成计算机可以理解的语言:0和1组成的包含信息的序列。目前存在两种翻译类型:一个是编译,一个是解释。两种方式都需要对代码进行翻译,只是翻译的时间不同而已。
编译型语言在计算机运行代码前,先把代码翻译成计算机可以理解的文件,比如EXE文件。这样说有些不太准确,实际上在生成EXE文件之前,还要做一个整合的操作,但这不是本节要关心的。这个EXE文件只需要经过一次编译就可以运行了,而且除非修改代码,否则都不需要重新编译。所以编译型语言的程序执行效率高。
解释型语言则不同,解释型语言的程序不需要在运行前编译,在运行程序的时候才翻译,专门的解释器负责在每个语句执行的时候解释程序代码。这样解释型语言每执行一次就要翻译一次,效率比较低。
介绍这些知识,并不是为了比较两种类型的优劣,由于JavaScript属于解释型语言,这就表示每句代码只有在运行时,系统才知道这句代码是否有错。换句话说,由于编译型语言在运行前进行了编译,编译器对所有代码都进行了检查,这样就不会产生一些低级错误,例如使用了不存在的名字,或者使用了错误的名字。而JavaScript就可能会出现这些问题。
目前的大部分工具,对JavaScript脚本语言的调试都支持得不是很好,这主要是由语言性质决定的。
虽然在编写简单脚本的时候,这并不是什么大问题,但随着Web应用不断变化的需求,编写大量脚本是不可避免的,这就需要开发者更细心、更专心地对付这些脚本了。无怪乎很多人说JavaScript比Java还难。
javascript——什么是解释型语言?的更多相关文章
- JavaScript DOM编程艺术 - 读书笔记1-3章
1.JavaScript语法 准备工作 一个普通的文本编辑器,一个Web浏览器. JavaScript代码必须通过Html文档才能执行,第一种方式是将JavaScript代码放到文档<head& ...
- Javascript:作用域 学习总结
作用域(scope): 变量与函数的可访问范围,控制着变量与函数的可见性和生命周期 作用域分类: javascript中,变量的作用域分为:全局作用域,局部作用域 局部变量的优先级大于全局变量,或 ...
- 简述JavaScript作用域与作用域链
关于变量作用域的知识,相信学习JavaScript的朋友们一定早已经接触过,这里简单列举: JavaScript中变量是以对象属性的形式存在的:全局变量是全局对象的属性:局部变量是声明上下文对象的属性 ...
- javascript基础编程の变量、对象、数据类型及函数
在web标准中.网页由结构.表现形式和行为三个部分组成. 结构标准---->XHTML: 表现形式标准----->CSS: 行为标准----->javascript: javascr ...
- JavaScript - this详解 (一)
侃侃JavaScript中的this this为何如此多变? this总是跟它的执行上下文有关,而在JavaScript总会有开辟新的执行上下文的东西,比如函数,所以,this才如此的变化. 执行环境 ...
- JavaScript 运行原理
i{margin-right:4px;margin-top:-0.2em}.like_comment_tips .weui-icon-success{background:transparent ur ...
- Sea.Js的运行原理(转)
1.CMD(Common Module Definition)规范 Sea.js采用了和Node相似的CMD规范,使用require.exports和module来组织模块.但Sea.js比起Node ...
- 从C#到TypeScript - Reflect
总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...
- Python介绍以及安装
Python介绍以及安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 借用我的导师的一句话:当你看到这篇文章的时候,那么恭喜你,你已经是踏入了开发的大门!欢迎加入:高级运维工程师 ...
随机推荐
- 完美解决pyinstaller 打包报错找不到依赖pypiwin32 或pywin32-ctypes的错误
报错信息 最近闲来无事,用python的tkinter库开发了一款带日程提醒的万年历桌面程序.在程序开发结束开始打包时,却发现一直报错 PyInstaller cannot check for ass ...
- Docker学习笔记之-在虚拟机VM上安装CentOS 7.8
虚拟机VM版本:VMware Workstation Pro 16 中文虚拟机软件专业版 到官网下载即可,或者也可以通过下边链接下载 下载地址: http://www.epinv.com/post/1 ...
- 503. 下一个更大元素 II
503. 下一个更大元素 II 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素.数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大 ...
- The path "" is not a valid path to the 3.10.0-957.el7.x86_64 kernel headers.
安装 kernel-devel yum install kernel-devel-$(uname -r)
- SpringBoot整合redis简单实现
1.创建springboot项目 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=& ...
- Windows定时任务copy到nfs目录
@echo off mount 192.168.5.10:/data/test x: xcopy /y "D:\backup\mysql\20200316_230000.sql.tar.gz ...
- OpenCascade拓扑对象之:拓扑对象的层次结构
@font-face { font-family: "Times New Roman" } @font-face { font-family: "宋体" } @ ...
- Android Studio的第一次经历
第一个简单APP的制作是从xml开始的,通过在java新建一个empty activity,并在layout里找到对应的xml文件进行编写.每编写一个xml就要事先新建 一个对应的empty ac ...
- MySQL中没有FULL OUTER JOIN的处理
FULL OUTER JOIN:SELECT column_name(s)FROM table1FULL OUTER JOIN table2ON table1.column_name=table2.c ...
- 别走!这里有个笔记:图文讲解 AQS ,一起看看 AQS 的源码……(图文较长)
前言 AbstractQueuedSynchronizer 抽象队列同步器,简称 AQS .是在 JUC 包下面一个非常重要的基础组件,JUC 包下面的并发锁 ReentrantLock CountD ...