简单记录,简单学习,简单生活

数组乱序:


1、简单乱序

function shuffle(arr) {
  return arr.sort(() => Math.random() - 0.5);
}


2、Fisher–Yates 洗牌算法

function shuffle(arr) { 
  let m = arr.length; 
  while (m > 1){ 
    let index = Math.floor(Math.random() * m--); 
    [arr[m] , arr[index]] = [arr[index] , arr[m]] 
  } 
  return arr; 
}        


参考:掘金



javascript 中的假值


undefined,null,NaN,0,false,''(空字符串)







promise then 方法接收参数为'function',若是其他类型,则会跳过,即所谓的透传。





2019-06-25


css a链接4个伪类的正确顺序 love/hate原则


a:link , a:visited , a:hover , a:active




2019-06-26

一次完整的web请求


1、打开浏览器,输入URL

2、dns解析

3、完成TCP握手

4、发送HTTP请求

5、接收HTTP响应结果

6、浏览器解析HTML、CSS

7、构建对象模型,DOM tree 和 CSSOM tree ,组成render tree

8、浏览器渲染页面




2019-07-02


node中的路径知识:

__dirname: 获得当前执行文件所在目录的完整目录名

__filename: 获得当前执行文件的带有完整绝对路径的文件名

process.cwd():获得当前执行node命令时候的文件夹目录名

./: 不使用require时候,./process.cwd()一样,使用require时候,与__dirname一样


path.resolve就相当于是shell下面的cd操作,从左到右运行一遍cd path命令,最终获取的绝对路径/文件名,这个接口所返回的结果了。但是resolve操作和cd操作还是有区别的,resolve的路径可以没有,而且最后进入的可以是文件

确认 取消