1. 基础知识
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){
})