日期:2014-05-16  浏览次数:20312 次

nodejs笔记1

原来用node搭过一个简单的微博系统,最近因为需要重新翻出node来温习一下。看过node之后不得不惊艳于js这门语言虽然是脚本语言的威力,不仅前端离不开它而且可以凭借js自己去出色的实现一个后台,而且它的功能还远不止这些,而且越来越多的功能正在被发现出来。而且node的出现也可以算是颠覆了原先后台服务器语言的传统,不像PHP那样还需要Apache这些网页服务器的支持,它自己就可以把一切打包实现。

node中很多地方都用到了匿名函数以及回调函数,匿名函数简单的讲就是函数木有名字,只有一个function来引导;回调函数指的是不由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应,简单讲就是将函数作为变量来进行传递

node的HTTP服务器实现简约而不简单,这里就是向createServer函数传递了一个匿名函数进去。


	var http = require("http");

	http.createServer(function(request, response) {
 		 response.writeHead(200, {"Content-Type": "text/plain"});
 		 response.write("Hello World");
 		 response.end();
	}).listen(8888);


node是基于事件驱动的。node的核心也是基于事件编程。但是node是单线程的,不像php那样当新的请求进入时Apache会自动分配进程。createServer函数在监听端口的同时还想要根据请求作出反馈回应,很显然这是异步的。但这也是js的事件驱动原理发挥作用的地方。

总之一言以蔽之,node是事件驱动的异步服务器端JS,而回调函数是它实现的重要原理。