node.js 文档总结,持续更新
来源:互联网 发布:弱碱性水的好处 知乎 编辑:程序博客网 时间:2024/06/06 14:06
Node.Js 文档总结,持续更新中
命令:
01) cmd进入指定文件夹 cd 路径
02) 输入node js名 出现Server running at http://127.0.0.1:端口号
03) 页面输入http网址 内容展现
04) 在cmd中 ctrl + c --重启服务器(更改页面内容需重启服务器)
05) cd.. 返回上一级
06) cd文件夹名字 进入指定文件夹
07) ctrl + c --退出当前终端
08) ctrl + c 按两次 --退出Node REPL
09) ctrl + d --退出Node REPL
10) 向上/向下键 --查看输入命令
11) tab键 --列出当前命令
12) help --列出使用命令
13) break --退出多行表达式
14) clear --退出多行表达式
15) save filename --保存到当前的Node REPL 回话到指定文件
16) load filename --载入当前Node REPL会话的文件内容
Node.js EventEmitter
01) events模块只提供了一个对象:events.EventEmitter,event.EventEmitter的核心就是事件触发与事件监听功能的封装
var events=require('events');//引入events木模块
var eventEmitter=new events.EventEmitter();//创建eventEmitter对象
02) EventEmitter对象发生错误时,会触发err事件。当添加新的监听器时,newListener事件会触发,当监听事件被移除时,removeListener事件被触发
03) EventEmitter的每个事件由一个事件名和若干的参数组成,事件名是一个字符串,通常表达一定的语义。
对于每个事件,EventEmitter支持若干的事件监听器
当事件触发时,注册到这个事件的事件监听器被依次调用,事件参数作为回调函数的参数传递
04) EventEmitte:
属性
⑴.addListener(event,listener);--为指定事件添加一个监听器到监听器数组的尾部
⑵.on(event,listener);--为指定事件注册一个监听器,接受一个字符串event和一个回调函数
server.on('connection',function(stream){
console.log('someone connected');
});
⑶.once(event,listener);--为指定事件注册单次监听函数
server.once('connection',function(stream){
console.log('Ah',we have our first user!);
});
⑷.removeListener(event,listener);--移除指定事件的某个监听器,监听器必须是该事件已经注册过的
var callback=function(stream){
console.log('someone connected!');
}
server.on('connection',callback);
server.removeListener('connection',callback);
⑸.removerAllListeners([event]);--移除所有事件的所有监听器,如果指定事件,则移除指定事件的所有监听器
⑹.setMaxListener(n);--默认情况下,EventEmitters如果添加的监听器超过十个就会输出警告,setMaxListeners函数用于提高监听器的默认限制数量
⑺.listeners(events);--返回指定事件的监听函数
⑻.emit(event,[arg1],[arg2],[...]);--按参数的顺序执行每个监听器,如果事件有注册监听返回true,否则返回false
类方法
⑼.listenerCount(emitter,event);--返回指定事件的监听器数量
事件
⑽.newListener--该事件在添加新监听器时被触发
event-字符串,事件名称
listener-处理事件函数
⑾.removerListener--从指定监听器数组中删除一个监听器,注意:此操作将会改变处于被监听器之后的那些监听器的索引
event-字符串,事件名称
listener-处理事件函数
error 事件
⑴.EventEmitter 遇到异常时候回触发error事件,当error被触发时,EventEmitter规定如果没有响应的监听器,Node.js会把它当做异常,退出程序并输入错误信息
所以一般要为会触发error事件的对象设置监听器,避免遇到错误后整个程序崩溃
var events=requore('events');
var emitter=new events.EventEmitter();
emitter.emit('error');
继承 EventEmitter
⑴.大多数不会直接用EventEmitter,而是在对象中继承它。包括fs、net、http在内时,只要是支持事件响应的核心模块都是EventEmitter的子类
原因: a.首先,具有某个实体功能的对象实现事件符合语义,事件的监听和发射应该不是一个对象的方法
b.其次JavaScript的对象循环机制是基于原理的,支持部分多重继承,继承EventEmitter不会打乱对象原有的继承关系
Node.js Buffer(缓冲区)
1).Node Buffer类可以通过多种方式创建
方法1:创建长度为10字节的Buffer实例
var buf=new Buffer(10);
方法2:通过给定的数组创建Buffer实例
var buf=new Buffer([10,20,30,40,50]);
2).写入缓冲区
buf.write(string[,offset[,length]][,encoding]);
参数:
string--写入缓冲区的字符串
offset--缓冲区开始写入的索引值,默认为0
length--写入的字节数,默认为buffer.length
encoding--使用编码,默认为utf8
返回值:返回实际写入的大小,如果buffer空间不足,则只会写入部分字符串
实例:
buf=new Buffer(256);
len=buf.write('www.runoob.com');
console.log('写入字节数:'+len);
3).从缓冲区读取数据
buf.toString([encoding[,start[,end]]]);
参数:
encoding--使用的编码,默认为utf-8
start--指定开的读取的索引位置,默认为0
end--结束位置,默认问缓冲区的末尾
返回值:解码缓冲区数据并使用指定的编码返回字符串
实例:
buf=new Buffer(26);
for(var i=0;i<26;i++){
buf[i]=i+97;
};
console.log(but.toString('ascii')); // ascii(编码方式) 输出:abcdefghijklmnopqrstuvwxyz
console.log( buf.toString('ascii',0,5)); // 输出: abcde
console.log( buf.toString('utf8',0,5)); // 输出: abcde
console.log( buf.toString(undefined,0,5)); // 使用 'utf8' 编码, 并输出: abcde
4).将Buffer转换为JSON对象
buf.toJson();
返回值:返回json对象
实例:
var buf=new Buffer('www.runoob.com');
var json=buf.toJSON(buf);
console.log(json);
5).缓冲区合并
Buffer.concat(list[,totalLength])
参数:
list--用于合并的Buffer对象的数组列表
totalLength--指定合并后Buffer对象的总长度
返回值:返回一个多个成员合并的新的Buffer对象
实例:
var buffer1=new Buffer('菜鸟教程');
var buffer2=new Buffer('www.runoob.com');
var buffer3=Buffer.concat([buffer1,buffer2]);
console.log('buffer3内容:'+buffer3.toString());
6).缓冲区比较
buf.compare(otherBuffer);
参数:
otherBuffer--与buf对象比较的另外一个buffer对象
返回值:返回一个数字,表示buf和otherBuffer之前,之后或相同
实例:
var buffer1=new Buffer('ABC');
var buffer2=new Buffer('ABCD');
var result=buffer1.compare(buffer2);
if(result < 0) {
console.log(buffer1 + " 在 " + buffer2 + "之前");
}else if(result == 0){
console.log(buffer1 + " 与 " + buffer2 + "相同");
}else {
console.log(buffer1 + " 在 " + buffer2 + "之后");
}
7).拷贝缓冲区
buf.copy(targetBuffer[,targetStart[,sourceStart[,sourceEnd]]]);
参数:
targetBuffer--要拷贝的Buffer对象
targetStart--数字,可选,默认0
sourceStart--数字,可选,默认0
sourceEnd--数字,可选,默认:buffer.length
返回值:没有返回值
实例:
var buffer1=new Buffer('ABC');
//拷贝一个缓冲区
var buffer2=new Buffer(3);
buffer1.copy(buffer2);
console.log('buffer2 content:'+buffer2.toString());
8).缓冲区剪裁
buf.slice([start[,end]]);
参数:
start--数字,可选,默认0
end--数字,可选,默认buffer.length
返回值:返回一个新的缓冲区,和旧的缓冲区指向同一块内存,但是从索引start到end的位置剪切
实例:
var buffer1=new Buffer('runoob');
//剪裁缓冲区
var buffer2=buffer.slice(0.2);
console.log('buffer2 content:'+buffer2.toString());
9).缓冲区长度
buf.length;
返回值:返回Buffer对象所占内存的长度
实例:
var buffer=new Buffer('www.runoob.com');
console.log('buffer length:'+buffer.length);
Node.js中的EventEmitter(事件发射器)模块
1).EventEmitter只有API
emitter.on(event,listener);注册一个事件
emitter.once(event,listener);注册一个一次性事件,触发后就被抹掉
emitter.removeLitener(event,listener);在事件队列中剔除某一个事件
emitter.removerAllListener([event]);删除整个事件队列,或多个事件
emitter.listeners(event);返回某些事件emitter.emit(event,[arg1],[arg2],[...]);触发事件,可传入具体参数
2).使用EventEmitter的方式
1.直接实例化获取EventEmitter
var events=require('events');
//实例化EventEmitter
var emitter
待更新
- node.js 文档总结,持续更新
- js总结-持续更新。。。。。
- ES6 文档总结,持续更新
- node.js+express+mongodb基础..持续更新
- JS兼容问题总结 -持续更新
- JS兼容性问题总结(持续更新中)
- node.js学习总结(不定期更新)
- 技术文档--持续更新
- 前端JS使用的技巧总结【持续更新】
- 总结js常用函数和常用技巧(持续更新)
- 总结js常用函数和常用技巧(持续更新)
- 总结js常用函数和常用技巧(持续更新)
- Jenkins+Node.js持续集成
- 异常总结,持续更新
- 快捷键总结(持续更新)
- 学习总结,持续更新
- dpdk总结【持续更新】
- 【持续更新】标准文档下载
- 阅读《C++之父Bjarne谈C++在2005年》
- Git用法【收藏】
- 关于mybatis异常“无效的列类型”问题的解决
- js中的$
- 使用Messenger进行Activity与Service之间的双向通信
- node.js 文档总结,持续更新
- SDUT-1272-->面向对象程序设计上机练习十(运算符重载)
- spring aop实现
- Java并发之构建异步任务
- clickhose之操作提示 Operations Tips
- 如何使用Android Studio获取Android签名
- 小程序rich-text在iso上无效的问题
- ps详解
- 手把手让你了解linux上集群原理篇【图解】