Skip to content

Latest commit

 

History

History
74 lines (46 loc) · 3.77 KB

01.md

File metadata and controls

74 lines (46 loc) · 3.77 KB

Nodejs 闲谈

目录

  • 怎么理解Nodejs 和 Javascript的关系?
    • Javascript 和 ECMAScript
    • Nodejs 和 ECMAScript
    • Nodejs 和 Javascript
    • 还有那些其它的语言是基于ECMAScript规范的?
  • Nodejs 能做哪些事情?
  • 怎们去学习 Nodejs?

怎么理解Nodejs 和 Javascript的关系?

Javascript 和 ECMAScript

要想弄明白这个问题,我们就必须先要搞清楚另外一个问题。 Javascript 和 ECMAScript 是什么关系?

思考十秒钟..........

ECMAScript 只是一种规范,并不是一门语言。那什么是规范呢?就是一种规定的范式,一种约束。因为在最开始浏览器端的脚本大致可以分为两种,一种就是网景公司(NetScope)的javascript,另外一种是微软(MiscroSoft)的JScript。并且这两种语言的差别还蛮大的。所以如果要想同样的页面在不同厂商的浏览器中都能产生一致的效果,那么就苦了我们的前辈们了,需要做浏览器检测,然后针对不同的浏览器去写不同的脚本。

后来,javascript 递交给了欧洲计算机制造协会(ECMA)来维护,目的就是协调各大浏览器厂商,达成统一,形成一种语言的规范,虽然各大浏览器厂商自己的解析器不一样,但是,必须要保证针对同样的语法所产生的效果一样的。如:

var a = 5;

ECMAScript规范中规定,凡是以var关键词开始的,后面紧跟着的是一个合法的标识符,浏览器就必须理解为这是一个变量声明。无论你是chrome,IE,firefox,opera还是safari。

ECMAScript 规范规定了语言的核心:语言,数据类型,内置方法和对象等。

Javascript 则是按照 ECMAScript 规范实现出来的一种具体的语言,同时又根据其使用环境是浏览器,做了相应的api扩充,比如:浏览器存储的api,AJAX,DOM,BOM等等。

可以简单的理解为:ECMAScript 是一套模板基因,而Javascript是根据这套基因培养出来的具体的生物,同时这个生物因为要生活在天上,所以又增加了一些飞啊等等的技能。

Nodejs 和 ECMAScript

理解了上面的关系,我们再来看Nodejs 和ECMAScript 的关系就特别容易理解了。

既然ECMAScript规定了语言的核心,包括语法,数据类型,内置方法和对象等,那么Nodejs就是基于这套模版实现出来的另外一个语言,同时扩充了一些作为服务端语言的一些特性,如:文件操作啊,网络操作啊,数据库操作啊,进程线程管理啊等等API。

再举上面那个例子:Nodejs是根据ECMAScript 的基因培养出来另外的一个生物,而这个生物是生活在海里的,所以又扩充了一些游泳啊,用腮呼吸啊等等技能。

Nodejs 和 Javascript

现在再来看他俩的关系。他俩的共同点或者说交集是什么? 当然是ECMAScript,也就是属于语言的核心部分,语法啊,数据类型啊,基本的内置方法和对象啊等等。可以说他俩是来自同一个祖先,在他俩身上能寻找到一点共同的东西,那就是ES规范。

还有那些其它的语言是基于ECMAScript规范的?
  • ActionScript
  • JScript
  • Nodejs
  • Javascript
  • DMDScript
  • 等等

Nodejs 能做哪些事情?

  • 数据计算
  • 文件操作
  • 网络编程
  • 进程线程管理
  • 等等

怎们去学习 Nodejs?

因为我们已经学习过ES,那么在写Nodejs时,在语法上就没有什么问题了。所以关键在于了解Nodejs提供的一些内置类库,他们分别能做什么事情,以及怎么使用。同时了解Nodejs的包管理器NPM的用法,知道它存在的价值是什么。

最后附上Nodejs的官方文档:https://nodejs.org