基础概念问题:Node.js 是一个平台,而不是一门语言
发布于 12 年前 作者 bloodynumen 18168 次浏览 最后一次编辑是 8 年前

因为有许多同学都把Node.js称作语言,转载了一些材料,以解释Node.js是什么

1.Node.js使用了Google的V8虚拟机(Google的Chrome 浏览器使用的JavaScript 执行环境,用C++语言编写),来解释和执行JavaScript代码. 2.Node.js因为采用了Google Chrome浏览器的V8引擎,性能很好,同时还提供了很多系统级的API,如文件操作、网络编程等。浏览器端的Javascript代码在运行时会受到各种安全性的限制,对客户系统的操作有限。相比之下,Node.js则是一个全面的后台运行时,为Javascript提供了其他语言能够实现的许多功能。 3.JavaScript的版本不统一,而大部分JavaScript库是提供给web浏览器使用的:例如一款浏览器或许支持类似forEach、map和reduce这样的函数,但其他浏览器并不支持。其结果是,客户端的库常常要用很多低效的代码来掩盖浏览器间的差异。另一方面,在使用Node.js时你确切地知道哪些JavaScript函数是可用的:驱动Node.js的V8 JavaScript引擎实现的是ECMAScript的ECMA-262,第五版。通过直接使用标准的V8函数,而不是客户端的库.

根据以上得出结论: Node.js 是一个平台,而不是一门语言

这个概念性的基础问题 如有错误 请各位大牛指正我这只小鸟 亲~

9 回复

平台与语言如同男与女,事儿太多,说不清;

语言可以用来做平台,平台也可以成为语言(封装嘛);

与其纠结于是平台还是语言,不如换个角度去看,如从应用角度、web发展角度等。

Node.js被误会为框架的时候更多

官网的定义够明确啦:

Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications.

node.js 是平台 javascript 是语言

格式太差了……

确实是平台嘛

node 相当于把 js 扩展到了更加广泛的应用场景,以前只是局限于 browser 的

请问ECMAScript的ECMA-262,第四版是不是废弃了?现在我看已经是5.1版本了,好象是和ECMA-262第3版保持一致的。那第四版是怎么回事?有达人知道不?

Node.js是平台; Express之类的是框架,也叫类库,就是一大堆写好的函数; JavaScript是语言; CoffeeScript是对JavaScript这门语言进行封装之后的语言,多了很多语法糖特性,简洁了语法等等~

jQuery、backbone.js等是前端类库; jQuery插件是将js、css、html进行组合封装之后的小型类库; BootStrap是将css文件进行封装的前端类库;(twitter是用less写的,但是反正最后还是被编译成css了) less、sass、stylus和css的关系就类似于CoffeeScript和JavaScript的关系~

感觉就是各种封装和再次封装~最后还是变成二进制编码在机器里跑咯~ 个人的一些理解~不一定准确~

回到顶部