博客已经迁移至 https://chaooo.github.io/,此处已停止更新及维护,查看最新内容请移步至 秋过冬漫长

Node.js函数(7)

7、Node.js函数

Node.js中函数的使用与Javascript类似:

1
2
3
4
5
6
7
function say(word) {
console.log(word);
}
function execute(someFunction, value) {
someFunction(value);
}
execute(say, "Hello");

以上代码中,我们把 say 函数作为execute函数的第一个变量进行了传递。这里返回的不是 say 的返回值,而是 say 本身!

阅读更多

Node.js模块系统(6)

6、Node.js模块系统

Node.js 提供了exportsrequire 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。

阅读更多

Node.js Stream流(5)

5、Node.js Stream(流)

Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。
Stream有四种流类型:
Readable //可读操作。
Writable //可写操作。
Duplex //可读写操作。
Transform//操作被写入数据,然后读出数据。
所有的Stream对象都是EventEmitter的实例。

阅读更多

Node.js Buffer缓冲区(4)

4、Node.js Buffer(缓冲区)

JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。一个 Buffer 类似于一个整数数组,但它对应于 V8 堆内存之外的一块原始内存。

阅读更多

Node.js EventEmitter类(3)

3、Node.js EventEmitter 类

Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。
Node.js里面的许多对象都会分发事件:一个net.Server 对象会在每次有新连接时分发一个事件, 一个fs.readStream对象会在文件被打开的时候发出一个事件。 所有这些产生事件的对象都是 events.EventEmitter 的实例。
events 模块只提供了一个对象: events.EventEmitterEventEmitter 的核心就是事件触发与事件监听器功能的封装。
你可以通过require("events");来访问该模块:

阅读更多

NodeJs学习笔记(2)

2、Node.js 事件循环

Node.js 有多个内置的事件,我们可以通过引入 events 模块,并通过实例化 EventEmitter 类来绑定和监听事件,如下实例:

阅读更多