NODE(buffer、fs、path)
Node
- 特点:
- 可以让js跑在浏览器之外
- 可以操作读写
- 同步异步
- 同步:代码依次执行
- 异步:同步代码执行后再执行(定时器,callback)–》效率高
- 学习要求:
- 自己写接口,前后端分离,写网站(ejs jade)
- 阻塞和非阻塞
- 请求–》内核业务处理–》毁掉后针对请求处理
Buffer
- 1.定义及特点
- (1)定义:缓存区,操作的是二进制的数据,表现出来的是16进制
- (2)特点
- a.可以和字符串进行转换
- b.buffer中存的是内存空间(像二维数组)
- 2.字节
- 八个二进制数组成一个字节
- 1b=8bit(8个二进制) 一字节=8比特
- 换算公式:当前位的最大值*进制^(所在位-1) 累加的和
- 一个字,三个字节
3.固定大小buffer创建方式
var buffer=new Buffer();
(1)通过长度创建buffer
var buffer1=new Buffer(100);//随机创建100个大的16进制 buffer1.fill(0);//将每个16进制上填成0
(2)放置字符串
var buffer=new Buffer('珠峰'); console.log(buffer.length);//buffer的长度
(3)放数组
- 数组中的值>255 对256取模,余数是当前值
- 数组中的值<0 在原来基础上+256
- 数组中的值无法识别–》0
var buffer=new Buffer([100,101,102]); console.log(buffer); /*原始数组 var a=[1,2]; var arr=[a,1,2]; var newArr=arr.slice(0); a[0]=100; console.log(newArr);//数组中存的是地址*/
4.buffer操作
- (1)slice
var buffer=new Buffer([1,2,3]); var newBuffer=buffer.slice(0,1);
(2)write
- 参数1 : string 要写入的内容
- 参数2 : 偏移量
- 参数3 : 写入的长度
- 参数4 :编码格式
–》参数没写时 默认是0
var buffer=new Buffer(12); buffer.write('珠峰'); buffer.write('培训',6); console.log(buffer.toString());//珠峰培训<