一、JavaScript底层
🌟 对占内存及闭包作用域
1. JS的8中数据类型及区别
2. JS的堆栈内存的运行机制
3. 变量提升机制
4. 作用域及作用域链
5. 闭包的2大作用:保存/保护
参考:
6. JS编译机制:VO/AO/GO
ECStack(Execution context Stack) 执行环境栈: —— 内存中分出来用于执行js代码的空间EC(Execution context): —— 执行上下文, 为了区分全局和函数执行所处的不同范围(词法作用域),又可以分为全局执行上下文EC(G)和函数执行私有上下文EC(FUNC)- VO(Varilbale Object)和AO(Active Object): —— 在每一个上下文代码执行的时候,都可能会创建变量 ,
全局变量对象VO(Varilbale Object)和私有变量对象AO(Active Object) GO(global object): 内置、全局对象,——浏览器把所有供后期需要供JS调取使用的属性和方法都放在GO对象中,如setInterval、eval、JSON并且创建一个window对象指向它,使用的时候可以省略window,如window.console.log=> console.log
7. JS高阶编程技巧:惰性函数/柯理化函数/高阶函数
8. 防抖和节流
参考:函数防抖和函数节流学习
🌟 面向对象(OOP)和this处理
1. 单例设计模式
2. 类和实例
3. 原型和原型链
4. new运算符的实现机制
5. call/apply/bind
6. constructor构造函数模式
7. JS中this5种情况的综合梳理
8. JS中4大数据类型检测方案
9. JS中4大继承方案(含深浅拷贝)
🌟 DOM/BOM及事件处理机制
1. DOM/BOM的核心操作
2. 事件对象
3. 拖拽及拖拽插件封装
4. 发布订阅设计模式
5. 深度剖析JQ源码
6. 事件传播机制及事件代理
7. DOM2级事件的核心运行机制
8. 移动端Touch/Gesture事件及封装处理
9. 浏览器的底层渲染机制及回流重绘
10. DIALOG模态框组件的封装
二、ES6/ES7和Ajax前后端交互
🌟 ES6/ES7的核心知识
1. let/const及和var区别
参考:变量声明深入学习
2. 箭头函数ArrowFunction
3. 解构赋值和拓展运算符
4. Set/Map数据结构
5. Promise设计模式
6. async/await及实现原理
7. Generator生成器函数
8. Promise A+规范(手写promise源码)
9. JS底层运行机制:单线程和同步异步编程
10. JS底层运行机制:微任务宏任务和事件循环机制
- 宏任务,微任务
- 1)宏任务:script,setInterval,setTimeout,一些浏览器api
- 2)微任务:Promise,process.nextTick,js自身api,或者node,环境。
- 3)不同环境执行机制有差异,不同任务进入不同Event Queue队列。
- 4)当主程结束,先执行准备好微任务,然后再执行准备好的宏任务,一个轮询结束。
11. Interator迭代器和for of循环
🌟 Ajax和Http前后端数据交互
1. Ajax核心4步操作
2. HTTP协议特点及请求方式
- 解释:超文本传输协议(HTTP)是TCP/IP协议族的应用层协议。 参考HTTP协议特点及请求方式: