想学习node.js需要什么基础知识?

JavaScript029

想学习node.js需要什么基础知识?,第1张

1使用JavaScript运行于服务端的平台上,自然继承了JavaScript语言的一些特性;

2Node.js基于单线程、基于非阻塞I/O模型实现;

3适合于数据密集型应用,不适用于计算密集型类的应用(如算法等);

4通过使用回调函数,来避免同步地等待I/O操作完成;

5Node.js非核心模块非常多,质量可能参差不齐(使用别人贡献的模块,要有承担风险的准备);

6因为简单,开发Node.js应用程序效率很高;

7调试相对困难,调试工具可能没有其他一些比较成熟的语言(如Java、C++等)的好用;

8Node.js基于事件驱动架构,events模块是Node.js最核心的模块。

抛开技术,我们先来聊聊你以及你和JavaScript的关系。本章的主要目的是想让你看看,对你而言是否有必要继续阅读后续章节的内容。

如果你和我一样,那么你很早就开始利用HTML进行“开发”,正因如此,你接触到了这个叫JavaScript有趣的东西,而对于JavaScript,你只会基本的操作——为web页面添加交互。

而你真正想要的是“干货”,你想要知道如何构建复杂的web站点 —— 于是,你学习了一种诸如PHP、Ruby、Java这样的编程语言,并开始书写“后端”代码。

与此同时,你还始终关注着JavaScript,随着通过一些对jQuery,Prototype之类技术的介绍,你慢慢了解到了很多JavaScript中的进阶技能,同时也感受到了JavaScript绝非仅仅是window.open() 那么简单。 .

不过,这些毕竟都是前端技术,尽管当想要增强页面的时候,使用jQuery总让你觉得很爽,但到最后,你顶多是个JavaScript用户,而非JavaScript开发者。

然后,出现了Node.js,服务端的JavaScript,这有多酷啊?

于是,你觉得是时候该重新拾起既熟悉又陌生的JavaScript了。但是别急,写node.js应用是一件事情;理解为什么它们要以它们书写的这种方式来书写则意味着——你要懂JavaScript。这次是玩真的了。

问题来了: 由于JavaScript真正意义上以两种,甚至可以说是三种形态存在(从中世纪90年代的作为对DHTML进行增强的小玩具,到像jQuery那样严格意义上的前端技术,一直到现在的服务端技术),因此,很难找到一个“正确”的方式来学习JavaScript,使得让你书写Node.js应用的时候感觉自己是在真正开发它而不仅仅是使用它。

因为这就是关键: 你本身已经是个有经验的开发者,你不想通过到处寻找各种解决方案(其中可能还有不正确的)来学习新的技术,你要确保自己是通过正确的方式来学习这项技术。

当然了,外面不乏很优秀的学习JavaScript的文章。但是,有的时候光靠那些文章是远远不够的。你需要的是指导。

本书的目标就是给你提供指导。

凭借着JS与V8引擎的加持、强大的天然可扩展性以及事件驱动型架构,Node.js已经快速成为Web应用与SaaS产品构建当中的客观标准。

然而,在为Node.js提供可观支持的同时,JS的存在也带来一些限制。

面对相关问题,合肥电脑培训http://www.kmbdqn.cn/将在今天的文章中共同探讨编写高效且可扩展Node.js代码所必须掌握的十项JS基本概念。

1.立即调用函数表达式2.Closure3.Protoype属性4.利用closure实现private属性5.Module模式6.Hoisting7.Currying8.Apply、call与bind方法9.制表(Memoization)10.方法重载