原生node api笔记

产生唯一 id

npm i uuid -D

1
2
const uuid = require('uuid/v4')
console.log(uuid().replace(/\-/g, '')) // 把所有的 - 去掉

获取 后缀名

1
2
const path = require('path')
let ext = path.extname('xx.txt') // .txt

stream

  1. 减少内存占用、增强系统性能(利用率高)
  2. 分3种:读取、写入、读写
    • 读取流:req、fs.createReadStream
    • 写入流:res、fs.createWriteStream
    • 读写流:zlib.createGzip
  3. 把压缩文件发送到浏览器,需要设置响应头
    • res.setHeader(‘Content-Encoding’, ‘gzip’)

Read More

vscode 快捷键

Open/View

快捷键说明WindowMac
打开命令选项板Ctrl+Shift+PCtrl+Shift+P
访问配置Ctrl+,Cmd+,
切换终端Ctrl+`Ctrl+`
创建新的终端Ctrl+Shift+`Ctrl+Shift+`
切换边栏Ctrl+BCmd+B
打开新的窗口/实例Ctrl+Shift+NCmd+Shift+N
关闭窗口Ctrl+WCmd+W
重新打开被关闭的编辑器Ctrl+Shift+TCmd+Shift+T
跳转到某个文件(选中后按Ctrl+Enter可拆分到另一边显示)Ctrl+PCmd+P
打开文件所在的资源目录Ctrl+OCmd+O
选择主题Ctrl+K&TCmd+K&T

Read More

js试题

性能测试

console.profile() 在火狐浏览器中安装 FireBug 可以更精确的获取到程序每一个步骤所消耗的时间

console.time() 也可以测试一段程序执行的时间,使用的比较多

1
2
3
console.time('A')
// 测试程序
console.timeEnd('A')

call 和 apply 的区别

fn.call(obj, 1, 2, 3)
fn.apply(obj, [1, 2, 3])

  1. callapply 都是 function 原型链上的函数,都可改变该函数内的 this 指针的指向
  2. 传参的形式不同,call 是一个一个来传,而 apply 是以数组的形式来传
  3. call 在性能上比 apply 好,特别是参数 大于 3 的情况下
  4. 它们与 bind 的区别是,bind 只改变 this 指针的指向,而不立刻执行

Read More

DOS 命令

内部命令和外部命令

  • 内部命令
    • 系统自带的命令,例如ping mv等
  • 外部命令
    • 放在window\system32,可自行扩展,如下载wget.exe放在该目录下可调用

Read More