前言
工程师的自我修养:基础知识
扎实的基础能让你高效学习新知识
思考几个面试题?
1. typeof 能判断哪些类型?
考点:JS变量类型
2. 何时用 === 何时用 ==
考点:强制类型转换
3. window.onload 和 DOMContentLoaded的区别?
考点:页面渲染过程
4. js创建10个 a 标签,点击的时候弹出对应的序号
考点:JS作用域
5. 手写节流throttle、防抖debounce
考点:性能,体验优化
6. Promise解决了什么问题?
考点:JS异步
策略
1. 拿到面试题,第一时间看到?
考点
2. 如何看待做不完的题海?
不变应万变(题可变,考点不变)
3. 如何对待接下来的题目?
题目到知识点,再到题目
前端知识体系
什么是知识体系?
1.高效学习三部曲:找准知识体系;刻意训练;及时反馈;
2.知识体系:结构化的知识范围
3.涵盖所有知识点;结构化、有组织、易拓展
从哪些方面梳理?
1.W3C标准
2.ECMA262标准
3.开发环境
4.运行环境
知识体系目录(基础)
一、 JS基础语法
1. 变量类型计算
1.1 值类型和引用类型
1.2 类型判断
1.3 逻辑运算
2. 原型和原型链
2.1 class
2.2 继承
2.3 原型
2.4 原型链
2.5 instanceof
3. 作用域和闭包
3.1 作用域
3.2 自由变量
3.3 闭包
3.4 this
4. 异步
4.1 单线程
4.2 callback
4.3 应用场景
4.4 Promise
二、 JS-Web-API
1. DOM
1.1 树形结构
1.2 节点操作
1.3 属性
1.4 树结构操作
1.5 性能
2. BOM
2.1 navigator
2.2 screen
2.3 location
2.4 history
3. 事件
3.1 绑定
3.2 冒泡
3.3 代理
4. ajax
4.1 XML HttpRequest
4.2 状态码
4.3 跨域
5. 存储
5.1 cookie
5.2 localStorage
5.3 sessionStorage
三、 开发环境
1. git
2. 调试
3. webpack 和 babel
4. linux命令
四、运行环境
1. 页面加载
1.1 加载
1.2 渲染
2. 性能优化
2.1 加载资源优化
2.2 渲染优化
3. 安全
3.1 xss
3.2 CSRF