# Jiuto's blog

# JavaScript

用Map写一个EventBus事件总线 (opens new window)

手写一个Promise (opens new window)

冒泡与捕获 (opens new window)

防抖与节流 (opens new window)

浅拷贝和深拷贝 (opens new window)

ES6 Module (opens new window)

模板引擎原理 (opens new window)

理解js闭包 (opens new window)

理解js原型、原型链和继承 (opens new window)

手写 new 操作符 (opens new window)

手写 bind (opens new window)

手写 apply 和 call (opens new window)

let、const和块级作用域 (opens new window)

柯里化 (opens new window)

# CSS

flex布局 (opens new window)

常见布局 (opens new window)

BFC 块格式化上下文 (opens new window)

层叠上下文、层叠层级、层叠顺序 (opens new window)

水平居中、垂直居中 (opens new window)

grid 网格布局 (opens new window)

CSS3 动画 (opens new window)

# vue

vue中$nextTick的实现原理 (opens new window)

简单实现vue响应式原理 (opens new window)

源码分析vue响应式原理 (opens new window)

源码分析vue watch侦听器 (opens new window)

源码分析vue computed (opens new window)

源码阅读vue VirtualDOM 和 diff (opens new window)

源码阅读vue-router (opens new window)

源码阅读vuex (opens new window)

# webpack

webpack多页面打包方法工具和模板 (opens new window)

通过babel手撸超简化版webpack (opens new window)

手写webpack plugin 和 loader (opens new window)

写一个Babel插件 (opens new window)

# 浏览器

event loop 事件循环 (opens new window)

浏览器渲染机制 (opens new window)

# 网络与安全

http、https (opens new window)

浏览器缓存 (opens new window)

跨域 (opens new window)

web 安全 (opens new window)

# 算法

从最短编辑距离问题到初识动态规划 (opens new window)

# 其他

如何在element-ui中拓展一个新的组件 (opens new window)

搭建一个脚手架工具 (opens new window)

搭建一个方法库 (opens new window)

搭建一个自动化部署服务 (opens new window)

在docker中通过Verdaccio搭建一个私有npm库 (opens new window)

通过Dockerfile在docker中初始化mysql表 (opens new window)

在vue项目中配置eslint + prettier (opens new window)

搭建一个由 karma + mocha + chai + Istanbul 组成的基础测试工具 (opens new window)

首屏加载优化 (opens new window)

如何使用docker发布项目 (opens new window)

面试路漫漫2021 (opens new window)

面试准备2023 (opens new window)