技能学习

199 阅读4分钟

一、JavaScript底层

🌟 对占内存及闭包作用域

1. JS的8中数据类型及区别

参考:JavaScript数据类型学习

2. JS的堆栈内存的运行机制
3. 变量提升机制
4. 作用域及作用域链

参考:JavaScript作用域和作用域链学习

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协议特点及请求方式
3. GET/POST核心机制与区别

参考GET/POST核心机制与区别:

4. TCP三次握手和四次握手
5.
6. axios库源码剖析
7. fetch基础和实战应用
8. 前端开发中的9种跨域方案
9. HTTP网格状态码和实战中的处理方案
10. 前端性能优化汇总(包含强缓存和弱缓存)

🌟 实战案例

1. 登录注册的前后端处理机制
2. 加密策略:encodeURL-Component和MD5等
3. 存储方案:cookie、webStorage、session等
4. 用户权限和登录状态的校验处理
5. Token的校验处理
6. JQ/BootStrap的实战应用

三、H5新特性和Hybrid混合开发

🌟 HTML5的基础知识

1. 响应式布局开发方案:@media/rem/flex
2. viewport和dpi适配
3. H5音视频处理方案
4. 新表单元素和校验方案
5. CSS预编译语言:less/sass

🌟 Canvas和Echarts

1. canvas的基础用法
2. canvas动画及小游戏开发
3. canvas图像处理
4. Echarts基础Api
5. 多元化/个性化数据图表
6. 异步数据的处理和更新
7. Echarts中的事件和行为

🌟 混合APP开发

1. Hybrid混合开发
2. JSBridge通信机制和底层原理
3. 微信JS SDK
4. swiper/Zepto移动端类库应用
5. 基于Hbuilder实现APP打包
6. 移动端联调处理方案