3 回答
TA贡献1936条经验 获得超6个赞
高级语言有两大阵营,分别是编译型语言以及解释型语言。前者源程序会经过编译生成特定平台的二进制代码,这样机器在运行时直接将二进制代码调入内存里执行就可以了;而后者一般会有个解释器,运行时把源代码丢到解释器里,再由解释器将其转译成可执行代码然后执行。所以,js解释器你把它理解成将js代码转译成可执行代码的一个程序就可以了。当然如果环境适合的话,有解释器的地方就可以跑js。就我知道的一些,比如ps和ae里就可以跑(不过adobe给它起了个名叫jsx,还不是react那个jsx……),另外现在一些嵌入式开发也有用到js的场景。
至于解释器“是什么”的问题,展开来讲很大,而且我觉得我没法给你讲明白(笑哭?),你可以去翻翻justjavac的关于v8(js最常用的解释器,node.js就是基于它实现的)的东西就知道了。真想入门的话,可以在学好js的基础上,再学学Lua(这个学起来很快),然后写个Lua的解释器(《七周七语言》里的Lua章节有一个简单的实现,可以去看下)。
使用程序可以实现软件,我觉得你可以把软件看作是一个成品,程序是工具,就像木刻刀之于木雕。
你目前的这些疑问,其实比较集中于计算机硬件基础原理的部分,可以去看看《程序是怎样跑起来的》这样的书,但是还是建议你先打好js的基础,这样理解起抽象度更高的硬件原理才会相对容易些。
TA贡献1884条经验 获得超4个赞
1.你可以认为软件=程序,我们能见到的大部分软件就是一个个的程序,当然驱动什么的也是程序
2.js解释器也是个程序,你可以理解为能理解js脚本语言,并作出相应动作的程序
3.你需要了解一下常见的编程语言,什么是静态语言,什么是解释性脚本语言
4.理论上js解释器可以嵌入到任何有cpu,有内存的设备,只是性能的问题,现在很多物联网设备也是可以用js来开发的
添加回答
举报