1.nodejs权威指南--基础知识

1.1 全局作用域及函数

1.1.1 全局作用域

在nodejs中,定义了一个global对象,代表nodejs中的全局命名空间,任何全局变量、函数或对象都是该对象的一个属性值

1.1.2 setTimeout函数与clearTimeout函数

setTimeout函数的使用方法如下:标示延迟ms时间调用 cb(args)

setTimeout(cb,ms,[args],[…])

clearTimeout函数使用方法如下:清除setTimeout函数返回的定时器

clearTimeout(arg);

例子:

var testFn = function(name){

console.log(name);

}

var timer = setTimeout(testFn,100,'chuck'); //100毫秒后执行testFn

clearTimeout(timer); //清除timer

1.1.3 setInterval函数与clearInterval

setTimeout函数的使用方法如下:标示延迟ms时间调用 cb(args)

setTimeout(cb,ms,[args],[…])

clearTimeout函数使用方法如下:清除setTimeout函数返回的定时器

clearTimeout(arg);

例子:

var testFn = function(name){

console.log(name);

}

var timer = setTimeout(testFn,100,'chuck'); //100毫秒后执行testFn

clearTimeout(timer); //清除timer

1.2 __filename变量与__dirname变量

l 可以使用__filename获取当前文件模块带有绝对路径的文件名

l 可以使用__dirname获取当前文件模块的目录的绝对路径

1.3 EventEmitter类

在nodejs用于实现各种事件处理的events模块中,定义了一个EventEmitter类,所有可能触发的对象都继承了EventEmitter类的子类的实例对象

表1‑1 EventEmitter类的各种方法

方法名与参数

描述

addListener(event,listener)

对指定事件绑定事件处理函数

on(event,listener)

对指定事件绑定事件处理函数(addListener的别名)

once(event,listener)

对指定事件指定只执行一次的函数

removeListener(event,listener)

对指定事件移除事件处理函数

removeListener([event])

对指定事件移除所有事件处理函数

setMaxListeners(n)

指定事件处理函数的最大值,n为整数值

listeners(event)

获取指定事件的所有事件处理函数

emit(event,[arg1],[arg2],[…])

手工触发指定事件

另外,可以EventEmitter自身拥有一个listenerCount函数来获取某个对象的指定事件的处理函数的个数

EventEmitter.listenerCount(emitter,event);

同时,events模块为EventEmitter定义了newListener和removeListener两个事件,用于监听事件的移除和绑定,第一个参数表示指定的时间,第二个参数表示被绑定的时间处理函数

emitter.on('newListener',function(event,callback){

})

emitter.on('removeListener',function(event,callback){

})