不是人人都是计算机专业的 v0.1

别嘲笑我,我是概念小白(根本没人会看好吧,自己的笔记)

学完了前端三部曲(html/css/javascript)后,开始学习node.js。
之前只知道有前端必有后端,后端是操作服务器的,有php,java,node.js等等语言。前端学习过javascript,所以名正言顺地操起了node。慕课上老师交了安装,命令行启动,很奇怪这个node.js安装不是像软件一样的有压缩包,有图标,在命令行输几行代码就ok了,说是装了node环境。这个环境是什么?以前在做测序的时候也被要求安装过Java环境,也是tm很虚幻的东东,神不知鬼不觉地装好了,完全不知道装在了哪里。现在才知道这tm叫环境,当然是看不到的。

这个环境是个啥,这是我的第一个问题。

装好了node之后在sublime用js写了几行代码,然后回到命令行,在打开文件之前要先输入node 再输入文件名称。意思是在node环境下运行这个文件。

为什么要先输node呢?先对node.js的概念了解一下。百度一查便知

Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。

不懂...

什么是Google V8引擎?

V8是一个由丹麦Google开发的开源JavaScript引擎,chrome用的就是它,主要是C编写的,js是优秀web应用必不可少的前端脚本语言,而浏览器除了要展示你看到的这些网页内容外还需要保证页面能按开发者希望的方式和用户交互,因此还需要解释并执行js的一种东西,而js引擎就是这个东西,V8呢只是一种代号(名称)而已,比如firefox的js引擎有过tracemonkey、jaegermonkey、spidermonkey等。

不是很懂......

什么是JavaScript引擎?

JavaScript引擎是一个专门处理JavaScript脚本的虚拟机,一般会附带在网页浏览器之中。

哦,虚拟机我知道了,小翠在苹果上装的windows系统貌似就是虚拟机。虚拟的一个系统嘛。

哦,我可能懂了,你用js写脚本,可以操各种DOM元素,滚动呀,出现隐藏呀,各种狂拽酷炫的视觉呀,全TM是有浏览器给你撑腰好哇,一旦脱离了浏览器,哼哼,你的各种炫技全是一堆code而已。所以浏览器的厉害程度可见一斑了吧。浏览器为什么可以认识js文件,给你渲染这么酷炫,因为它带有JavaScript引擎呀,(应该会转化成底端语言吧?)。这个厉害的JavaScript引擎就是Google V8引擎,不用羡慕,现在你也可以拥有啦,node.js对V8引擎进一步封装,提供了替代的API,可以使V8在非浏览器环境下运行得更好,意思是你装了人家node,就相当于装了个浏览器引擎,很酷吧,你在浏览器的console里可以写代码,可以console.log出来东西,你现在在node环境下也可以做到这些啦,你可以在命令行输入node回车再输入代码试试,简直就是一台丑爆了的浏览器嘛,哈哈哈。

现在回过头来回答自己的问题,运行环境是个啥,是一个可以读懂某种语言的一个运行着的虚拟机吧。

Comments
Write a Comment