# 关于此文档

* 说明：此文档用于梳理前端各种基础常见知识点和一些项目中的实现经典案例。
* doc链接: <https://docs.tedshen.cn/>

## 目录

## 基础沉淀

### Javascript

* [原型链](https://docs.tedshen.cn/javascript/prototype)
* js继承的多种方式
* 类型判断
* 数组去重、去假值、排序、合并
* [事件循环](https://docs.tedshen.cn/javascript/event-loop)
* [requestAnimationFrame的原理机制](https://docs.tedshen.cn/javascript/requestnextanimationframe)
* 事件代理、事件冒泡捕获、回调地狱
* [this 的指向](https://docs.tedshen.cn/javascript/this)
* [new 关键字](https://docs.tedshen.cn/javascript/new)
* 正则表达式
* es6相关
* [异步编程(promise/generator/async-await)](https://docs.tedshen.cn/zong-he/async-program)
* 线程、进程
* [函数式编程](https://docs.tedshen.cn/zong-he/functional-programming)
* 垃圾回收机制
* 页面 Page Visibility
* [前端模块化](https://docs.tedshen.cn/javascript/es-module)
* [number精度问题(如：0.14\*100出现多位小数)](https://docs.tedshen.cn/javascript/floating-point-precision)

### CSS

* 清除浮动
* 层级关系
* [1px 细线](https://docs.tedshen.cn/css/1px)
* 等比例图片/高度自适应
* viewport
* 换行类型、n 行文案显示
* flex、box、float 布局
* 各种布局的实现（左固右自适应等）
* line-height/vertical-align
* 外边距塌陷、重叠
* 垂直、水平居中
* BFC
* rem\em...
* 选择器、优先级
* 动画 GPU 加速
* 盒模型
* 圆角的那点事

### VUE

* $set列表渲染(直接针对数组指定项对象的属性赋值无法触发双向绑定更新渲染)

### 综合

* 缓存
* 浏览器渲染原理、重回回流、减少回流
* http1/http2/https
* csrf/xss 安全及防范方法
* 设计模式
* 编程范式
* 跨域方式
* jsonp
* tcp / udp
* 性能优化方案
* 虚拟 dom、diff 算法
* 错误类型、错误捕获
* MVVM
* 移动端自适应解决方案

## 经典案例

* 去抖、节流的扩展
* AOP 的实现
* 懒加载
* 轮播图（垂直、整页）
* 弹幕
* 日期格式化
* url参数获取及添加
* 深浅度拷贝及扩展
* 事件监听及触发store**emit/on, Event**obj.emit/on

## 算法

* 洗牌算法

## 采坑经历

* new Date()在不同浏览器下的处理问题
* 父节点 update 子节点（feat-act-summer-bak,待分析）
* 老模板写jsx（View\_\_update）
