echo's Blog

Do wonderful things😃

移动端常见问题

移动端常见问题

移动端常见问题 设备像素、设备独立像素、CSS像素、分辨率、PPI、devicePixelRatio 物理像素(设备像素)(device pixels) 设备像素也称为物理像素, 是显示器的最小单位, 这个像素不一定是一个小圆点或者小正方形, 只是用于显示丰富色彩的一个点, 一个物理像素有三原色(红,蓝,绿)不同变换显示不同的色彩 设备独立像素(device independent...

DOM事件

DOM事件

DOM事件 概念明确 事件流 事件在页面中传播的顺序, 反过来就是页面接收事件的顺序 事件 鼠标点击, 页面加载, 鼠标悬浮, 键盘按下, 输入框输入, 聚焦等具体的操作可以被JavaScript侦测到的行为就是事件, 事件通常和函数配合使用, 当事件发生时函数才会执行 事件处理程序 响应某个事件的函数就是事件处理程序, 事件处理程序名包括: onclick, onmouse...

数组扁平化

数组扁平化

数组扁平化 递归思路 function flat(array) { let result = []; for (let i = 0; i < array.length; i++) { const item = array[i]; if (item instanceof Array) { console.log(result, 'res...

函数记忆化

函数记忆化

函数记忆化 函数记忆化就是当同一个函数第二次计算时, 就不在重新执行这个函数, 而是使用上一次执行过得到的结果 注意点: 同一个函数是指函数名相同, 函数实参列表相同 大体思路: 每次函数执行就将结果缓存下来第二次执行的时候直接去缓存 使用对象缓存, 函数的参数作为key, 结果作为value ES5版本 function memo(fn) { var cac...

Nodejs学习-stream

Nodejs学习-stream

Nodejs学习-stream模块 stream-流 stream可以认为是水流, 但是默认是没有水的, stream.write可以在水流中添加水(数据), 每次产生的小数据叫做chunk(块), 产生数据的一端叫做source(源头), 得到数据的一端叫做sink(水池) 看这段代码 const fs = require('fs'); const stream = fs.create...

Nodejs学习-http模块

Nodejs学习-http模块

Nodejs学习-http模块 六个学习目标 根据不同的url返回不同的资源 处理查询参数 处理不同的文件资源 处理不存在的文件 处理非GET请求 添加缓存 源码地址 GitHub - echoheart/node-http

Nodejs学习-文件模块

Nodejs学习-文件模块

Nodejs学习-文件模块 通过制作一个todolist命令行小工具来学习nodejs文件模块 虽然用到的文件模块API不多, 但是在这个过程中,还是有很大收获的 源码地址 GitHub - echoheart/node-todo-app 如果大家想体验一下这个命令行小工具😳 请使用yarn或者npm全局安装echo-todo-app这个包 npm i -g echo-todo-a...

async&await&Promise全解

async&await&Promise全解

async&await&Promise全解 之前写过一篇关于async,await的文章, 感觉写的不好,当时理解的也没有现在好 所以决定再写一篇 先做出一个约定, 文中出现Promise代表的是Promise这个类 出现promise代表的是Promise的实例对象 在讨论async,await之前还是要先讨论一下Promise, 在我看来async,await就是P...

Promise

Promise

Promise 这个Promise是按照PromiseA+规范来完成的 在写这个的过程中遇到了很多的问题, 目前代码通过了我能想到的所有的测试用例 在这里分享一下遇到的问题和坑 最开始没有想到可以多次调用then方法, 所以要定义一个数组存储每次调用then的两个回调函数参数 new Promise传入的函数要立即执行, 所有要绑定this, 因为这个resolve或者rej...

Event Loop 事件循环

Event Loop 事件循环

Event Loop 事件循环 Event Loop是nodejs当中特有的概念, 跟JS没有特定的关系 浏览器当中的事件处理和Event Loop没有关系 Event Loop到底是个什么东西呢 Event Loop我认为它是nodejs当中的一套完整的处理回调的机制, 它是运行在脱离于JS执行线程之外的, 它是处理Nodejs当中所有的回调, 包括常见的读文件, 写文件, 计时器等...