# JavaScript
# 优秀文章
# 目录列表
- ajax-vs-fetch: ajax 和 axios 和 fetch 的区别
- algorithm: 算法
- 数组转树形结构
- arrsort: 数组排序
- asynchronous: 异步
- 浏览器从输入 URL 到看到页面,中间经历了什么
- bind: bind 函数的实现
- boxmodel: js 盒子模型,offset, scroll, client 等等
- call-apply: call, apply 对比
- compareObject: 深度比较参数是否相等
- cors: 跨域&处理
- data-observe: 数据劫持
- deepCopy: 深拷贝与浅拷贝
- dom: js DOM 操作方式汇总
- encode-url: URL 编/解码
- error: js 抛错方式及类型
- event: js 事件及事件池实现(bind, on)
- event-emmiter: 类 node 的 EventEmitter 实现
- event-loop: js 事件循环,宏任务,微任务
- for-in: for in 循环&其他循环对比
- form方案
- function: 高级方法举例(柯里化, bind)
- handle-error: 前端异常监控、上报
- hashRouter: hash 路由实现
- higherFunction: 高级函数(惰性载入函数,柯里化,级联函数)
- isCloseLoop: 是否能形成闭环
- jquery-deferred: jquery deferred 使用
- isBridge原理
- jsoutput: 页面中常用的几种输出方式
- key-order: 对象 key 输出顺序&&Object.keys 原理
- lazyload: 图片延迟加载/图片懒加载
- mapLimit: js 实现并发控制
- math: 数学对象
- module: ES 模块基础用法及常见使用问题
- 面向对象&继承
- object: 对象(Object),介绍了单例模式等及对象的高级属性 defineProperty 等等
- Promise
- RegExp: 正则表达式
- Symbol 特性&实现
- replace: replace 与 正则
- requestAnimationFrame: requestAnimationFrame 的特点
- rmduplicate: 数组去重
- string: String 对象
- tablesort: 表格排序
- this: this 指向
- typetransform: 类型检测&数据类型转换规则总结
- virtual table: 虚拟列表
- vue-vs-jquery: vue 与 jquery 的区别
- xss: xss 的原理及防御
- you-dont-need-jquery: 不需要 jquery 的理由