对于JavaScript到底是脚本语言还是编程语言,大家争论不休。有的人说它是一门脚本语言(不需要编译)但是有的人说它是一门编程语言(因为它是图灵完备的)那脚本语言和编程语言的区别到底在哪里呢
我查阅了写资料,大致如下:
一、什么是脚本语言
脚本语言是介于标记语言和编程语言之间的语言,没有编程语言复杂、严谨的语法和规则。
脚本语言比较简单,比较容易掌握,与编程语言也有许多相似之处,其函数与编程语言比较相似一些。与编程语言最大的区别就是编程语言的语法和规则更为严谨和复杂一些。
脚本语言是解释性的语言,它不像c \ c++等可以编译成二进制代码,以可执行文件的形式存在。而脚本语言不需要编译,可以直接用,由编译器负责解释。
二、什么是编译语言
编译语言是程序在执行之前需要一个专门的编译过程,运行时不需要重新编译,直接使用编译的结果就行了,脱离其语言环境独立执行。程序执行的效率高,使用方便。但程序一旦需要修改,必须修改源代码,再重新编译生成新的目标文件才嫩执行,依赖编译器,故跨平台性差了点。例如啊c、c++、java、c#等
三、二者的区别
抽象级别不同:
脚本语言更抽象。在脚本语言中,存在有高级的数据结构,如列表和字典结构,和对这种结构简单方便的嵌套和操作。编译语言有比较明确的定义等等。
类型定义不同:
脚本语言对类型的定义比较松散,不需要类型声明而且在云心时自动进行动态类型检查。而编译语言通常是强类型定义或静态定义,也就是说变量的类型在程序中指定了。
执行方式不同:
脚本语言是解释成指令被立即执行。这样完全将编译过程从编辑-编译-运行循环中去掉了,而编译语言的程序被编译成可执行的二进制。
运行速度不同:
脚本语言是解释执行的,在执行时解释每一条语句然后执行。这样比编译执行的语言要慢。而编译语言因为编译成机器码,可以直接运行,所以以运行速会比较快。
四、通俗易懂解释法
什么叫做脚本呢:
一句话解释就是:用解释性语言、依据一定的格式编写的文件(宏或者批处理文件)
假设你经常从网上下载东西,目录选择的是D盘的downloads的文件夹,然后呢,你又喜欢把下载下来的文件按照不同的类型放在不同的文件夹里,例如:.jpg文件放在jpg文件夹里。.zip文件放在zip文件夹里。那你手动分了一年觉得厌烦了,于是打开一个记事本,写下几行代码,改成.bat文件,它就会按照你的想法被复制到相应的文件夹中
copy /Y D:\download*.jpg D:\jpg
copy /Y D:\download*.zi’pD:\zip
这个呢就是一个非常简单的脚本
这边也可以这样理解:script就是一系列的指令,计算机看见指令就会按照指定去执行(所以呢,script就是短小的、用来让计算机自动化完成一系列工作的程序,这类程序可以用文本编辑器修改,通常是解释允许你的)。
那就前端方面而言呢,脚本通常是指在浏览器里运行的小程序。
如果想学习帮助你处理文件系统的脚本,可以搜索‘windows批处理文件编程’或者‘windows 命令行教程’
ending…
- 本文作者: gtt
- 本文链接: https://gtt011029.github.io/posts/3584/