• 阅读说明
  • vue试题(已完成)
  • 一、vue-cli依赖的 Node.js 环境安装
  • 二、vue-cli 工程技术集合介绍
  • 三、vue-cli 工程目录结构介绍
  • 四、vue.js 核心知识点高频试题一
  • 4.1 对于Vue是一套渐进式框架的理解
  • 4.2 请说出vue几种常用的指令
  • 4.3 请问 v-if 和 v-show 有什么区别?
  • 4.4 vue常用的修饰符
  • 4.5 v-on可以监听多个方法吗?
  • 4.6 vue中 key 值的作用
  • 4.7 vue-cli工程升级vue版本
  • 4.8 vue事件中如何使用event对象?
  • 4.9 $nextTick的使用
  • 4.10 Vue 组件中 data 为什么必须是函数
  • 4.11 v-for 与 v-if 的优先级
  • 五、vue.js 核心知识点高频试题二
  • 5.1 vue中子组件调用父组件的方法
  • 5.2 vue中 keep-alive 组件的作用
  • 5.3 vue中编写可复用的组件
  • 5.4 vue生命周期有关的试题
  • 5.5 vue如何监听键盘事件中的按键?
  • 5.6 vue更新数组时触发视图更新的方法
  • 5.7 vue中对于对象的更改检测
  • 5.8 解决非工程化项目初始化页面闪动问题
  • 5.9 v-for产生的列表,实现active的切换
  • 5.10 v-model语法糖的使用
  • 六、vue.js 核心知识点高频试题三
  • 6.1 十个常用的自定义过滤器
  • 6.2 vue等单页面应用及其优缺点
  • 6.3 vue的计算属性
  • 6.4 vue提供的几种脚手架模板
  • 6.5 vue父组件向子组件通过props传递数据
  • 6.6 vue-cli开发环境使用全局常量
  • 6.7 vue-cli生产环境使用全局常量
  • 6.8 vue弹窗后如何禁止滚动条滚动?
  • 6.9 计算属性的缓存和方法调用的区别
  • 6.10 vue-cli中自定义指令的使用
  • 6.11 父组件异步获取动态数据传递给子组件
  • 七、vue-router 路由高频考题
  • 7.1 vue-router响应 路由参数 的变化
  • 7.2 完整的 vue-router 导航解析流程
  • 7.3 vue-router有哪几种导航钩子( 导航守卫 )?
  • 7.4 vue-router的几种实例方法以及参数传递
  • 7.5 vue-router的动态路由匹配以及使用
  • 7.6 vue-router如何定义嵌套路由?
  • 7.7 router-link组件及其属性
  • 7.8 vue-router实现路由懒加载( 动态加载路由 )
  • 7.9 vue-router路由的两种模式
  • 八、vuex 状态管理高频试题
  • 8.1 什么是vuex?
  • 8.2 使用vuex的核心概念
  • 8.3 vuex在vue-cli中的应用
  • 8.4 如何在组件中去使用vuex的值和方法?
  • 8.5 在vuex中使用异步修改
  • 九、axios、fetch、ajax等请求高频试题
  • 9.1 Promise对象是什么?
  • 9.2 axios、fetch与ajax有什么区别?
  • 9.3 JS的同源策略和跨域问题
  • 9.4 如何解决跨域问题?
  • 9.5 vue-cli中使用JSON数据模拟
  • 9.6 axios有哪些特点?
  • 十、前端 UI 样式高频试题
  • 10.1 组件样式属性 scoped 问题及解决方法
  • 10.2 vue常用的UI组件库
  • 10.3 vue组件适配移动端【经典】
  • 10.4 移动端适配常用媒体查询源码
  • 10.5 垂直居中对齐
  • 10.6 vue-cli中如何使用背景图片?
  • 10.7 使用表单禁用时移动端样式问题
  • 10.8 多种类型文本超出隐藏问题
  • 10.11 vue-cli工程引入全局less变量
  • 十一、vue中常用功能实现与详解
  • 11.1 vue中如何实现tab切换功能?
  • 11.2 利用<keep-alive></keep-alive>标签实现某个组件缓存功能
  • 11. 3 vue中实现切换页面时为左滑出效果
  • 11.4 vue无痕刷新
  • 11.5 多种情景的数组去重
  • 11.6 vue保留滚动条位置
  • 11.7 vue组件中使用定时器
  • 11.8 组件slot使用示例
  • 11.9 使用递归组件实现级联选择器
  • 11.10 使用递归组件实现树形控件
  • 11.11 几种常见的自定义指令详解
  • 11.11.1 实现一个表单自动聚焦的自定义指令
  • 11.11.2 实现一个可从外部关闭的下拉菜单
  • 11.11.3 实现一个实时时间转换指令v-time
  • 11.12 两种类型的循环单选选择、取消功能
  • 十二、vue各种情况的组件间通信
  • 12.1 关于vue组件间通信问题的回答
  • 12.2 万金油:vue中央事件总线的使用
  • 12.3 props:最基础的父子组件间传递数据
  • 12.4 v-model语法糖:子组件向父组件传递数据
  • 12.5 .sync 修饰符:进行父子组件间相互传递数据
  • 12.6 $attrs属性:父孙组件间传递数据
  • 12.7 $on属性:子组件调用父组件方法
  • 12.8 $listeners属性:孙组件调用父组件的方法
  • 12.9 $refs属性:
  • 12.10 $parent属性:
  • 12.11 $children属性:
  • 十三、混合开发:vue工程与app交互
  • 十四、vue开发命令的执行过程【拓展】
  • 十五、vue-cli工程打包后.js文件详解
  • 15.1 vue打包命令是什么?
  • 15.2 vue打包后会生成哪些文件?
  • 15.3 配置 vue 打包生成文件的路径
  • 15.4 vue如何优化首屏加载速度?
  • 十六、MVVM设计模式高频试题
  • 16.1 MVC、MVP与MVVM模式
  • 16.2 MVC、MVP与MVVM的区别
  • 16.3 常见的实现MVVM几种方式
  • 16.4 Object.defineProperty()方法
  • 十七、实现一个自己的MVVM
  • 17.1 准备知识
  • 17.1.1 ES6中类和定义
  • 17.1.2 JS中的文档碎片
  • 17.1.3 解构赋值
  • 17.1.4 Array.from与Array.reduce
  • 17.1.5 递归的使用
  • 17.1.6 Obj.keys()与Obj.defineProperty
  • 17.1.7 发布-订阅模式
  • 17.2 效果示例
  • 17.3 思路分析
  • 17.4 项目地址
  • 十八、vue-cli中的配置详解
  • 18.1 webpack的特点
  • 十九、源码剖析
  • 19.1 剖析 Vue 内部运行机制
  • 19.1.1 Vue.js 全局运行机制
  • 19.1.2 响应式系统的基本原理
  • 19.1.3 响应式系统的依赖收集追踪原理
  • 19.1.4 实现 Virtual DOM 下的一个 VNode 节点
  • 19.1.5 template 模板是怎样通过 Compile 编译的
  • 19.1.6 数据状态更新时的差异 diff 及 patch 机制
  • 19.1.7 批量异步更新策略及 nextTick 原理
  • 19.1.8 proxy代理过程
  • 19.2 剖析 vue-router 内部运行机制
  • 19.2.1 重要函数思维图解
  • 19.3 剖析 vuex 内部运行机制
  • 19.3.1 准备知识
  • 1. Vue.mixin
  • 2. Vue.use
  • 19.3.2 插件安装
  • 19.3.3 Store
  • 19.3.4 使用源码
  • 19.4 剖析 axios 内部运行机制
  • 二十、发布一个 npm 资源包
  • 二十一、vue的服务器端渲染
  • 二十二:资料分享
  • html试题(整理中)
  • 1. 请写出 HTML5 的doctype
  • 2. 请你谈谈你对web标准以及w3c的理解与认识。
  • 3. HTML5有哪些新特性?
  • 4. 移动端meta标签
  • 5. HTML5标签的语义化
  • Css试题(整理中)
  • 1. css盒子模型
  • 一、选择器
  • 2. css常用的选择器有哪些?
  • 3. CSS3新增伪类有那些?
  • 二、结构和层叠
  • 4. css优先级计算规则
  • 三、值和单位
  • 5. em、ex、px与rem
  • 四、字体
  • 6. 使用自定义字体
  • 五、文本属性
  • 7. 多行省略
  • 8. CSS有哪些继承属性
  • 六、基本视觉格式化
  • 9. 去掉inline-block元素间隙
  • 6.2 垂直居中布局
  • 6.3 box-sizing属性
  • 6.4 CSS中visibility属性的collapse属性值
  • 6.5 display:none与visibility:hidden的区别?
  • 七、内外边距和边框
  • 八、颜色和背景
  • 8.1 rgba和opacity的透明有何不同?
  • 九、浮动和定位
  • 9.1 居中对齐
  • 9.2 position的值
  • 9.3 如何清除浮动
  • 十、过渡与动画
  • 十一、less与sass
  • 11.1 less和sass的特点和区别
  • 十二、弹性盒布局
  • 12.1 请解释一下CSS3的flexbox(弹性盒布局模型),以及适用场景?
  • 13. 用纯CSS创建一个三角形
  • 14. 对BFC规范(块级格式化上下文:block formatting context)的理解
  • 十五、 移动端布局
  • 15.1 媒体查询
  • 15.2 圣杯布局
  • 15.3 双飞翼布局
  • 15.4 实现中间自适应宽度,左右两栏固定宽度布局
  • 16. CSS优化与性能提高
  • 17. 浏览器解析CSS选择器
  • 18. css实现全屏滚动
  • 十九、响应式设计
  • 20. 怎么让浏览器支持小于12px 的文字?
  • 21. 图片格式的选择
  • 22. link和@import的区别
  • 23. 重排和重绘
  • 24. css3有哪些新特效?
  • 25. 用css创建一个三角形
  • JavaScript语言核心试题(已完成)
  • 1. 原始类型有哪几种?null 是对象嘛?
  • 2. 对象(Object)类型
  • 3. typeof vs instanceof
  • 4. 类型转换
  • 5. this
  • 6. == vs ===
  • 7. 闭包
  • 8. 深浅拷贝
  • 9. 原型
  • 10. JS 异步编程及常考面试题
  • 10.1 并发(concurrency)和并行(parallelism)区别
  • 10.2 回调函数(Callback)
  • 10.3 Generator
  • 10.4 Promise
  • 10.5 async 及 await
  • 10.6 常用定时器函数
  • 11. Event Loop(事件循环)
  • 11.1 进程与线程
  • 11.2 执行栈
  • 11.3 浏览器中的 Event Loop
  • 11.4 Node 中的 Event Loop
  • 12. new
  • 13. instanceof 的原理
  • 14. 0.1 + 0.2 != 0.3
  • 一、词法结构
  • 1.1 ajax请求webservice接口及Unicode转义
  • 1.2 javascript中的保留字
  • 二、类型、值和变量
  • 2.1 javascript中的数据类型有哪些?
  • 2.2 Javascript中所支持的数字函数
  • 2.3 二进制浮点数和四舍五入错误
  • 2.4 日期计算函数
  • 2.5 字符串常用的方法
  • 2.6 布尔值的转化
  • 2.7 null和undefined
  • 2.8 比较两个数组
  • 2.9 JavaScript类型转换
  • 2.10 变量声明
  • 2.11 变量作用域
  • 2.11.1 变量作用域优先级
  • 2.11.2 函数作用域和声明提前
  • 2.11.3 作用域链
  • 三、表达式和运算符
  • 3.1 JavaScript运算符
  • 3.2 运算符优先级
  • 3.3 == 和 ===
  • 3.4 in运算符
  • 3.5 instanceof运算符
  • 3.6 eval()
  • 3.7 三元运算符
  • 3.8 typeof运算符
  • 3.9 delete运算符
  • 四、语句
  • 4.1 枚举对象的属性和属性值
  • 4.2 跳转语句
  • 4.2.1 break与contiinue
  • 4.2.2 return语句
  • 4.2.3 throw语句
  • 4.2.4 try/catch/finally语句
  • 4.3 with、debugger和use strict
  • 4.4 for循环
  • 五、对象
  • 5.1 对象基础
  • 5.2 对象直接量与new创建对象
  • 5.3 原型与原型链
  • 5.4 Object.create()
  • 5.5 属性的查询和设置
  • 5.6 删除属性
  • 5.7 检测属性
  • 5.8 枚举属性
  • 5.9 属性getter和setter
  • 5.9.1 存取器属性实例一
  • 5.9.2 存取器属性实例二
  • 5.9.3 存取器属性实例三
  • 5.10 属性的特性
  • 5.10.1 如何实现属性特性的查询和设置操作
  • 5.10.2 修改不允许创建后修改的属性
  • 5.10.3 复制属性的特性
  • 5.11 对象的三个属性
  • 5.11.1 原型属性
  • 5.11.2 类属性
  • 5.11.3 可扩展性
  • 5.12 序列化对象
  • 5.13 对象方法
  • 六、数组
  • 6.1 JS数组基础
  • 6.2 创建数组
  • 6.3 数组元素的读和写
  • 6.4 稀疏数组
  • 6.5 数组长度
  • 6.6 数组元素的添加和删除
  • 6.7 数组遍历
  • 6.8 多维数组
  • 6.9 数组方法
  • 6.10 数组类型
  • 6.11 类数组对象
  • 6.12 作为数组的字符串
  • 七、函数
  • 7.1 函数定义
  • 7.2 函数调用
  • 7.2.1 函数调用
  • 7.2.2 方法调用
  • 7.2.3 构造函数调用
  • 7.2.4 间接调用
  • 7.3 函数的实参和形参
  • 7.3.1 可选形参
  • 7.3.2 可变长的实参列表:实参对象
  • 7.3.3 将对象的属性用做实参
  • 7.3.4 实参类型
  • 7.4 作为值的函数
  • 7.5 作为命名空间的函数
  • 7.6 闭包
  • 7.7 函数的属性、方法和构造函数
  • 7.7.1 length属性
  • 7.7.2 prototype 属性
  • 7.7.3 call()方法和apply()方法
  • 7.7.4 bind()方法
  • 7.7.5 toString()方法
  • 7.7.6 Function()构造函数
  • 7.7.7 可调用的对象
  • 7.8 函数式编程
  • 7.8.1 使用函数处理数组
  • 7.8.2 高阶函数
  • 7.8.3 不完全函数
  • 7.8.4 记忆
  • 八、类和模板
  • 8.1 类和原型
  • 8.2 类和构造函数
  • 8.2.1 构造函数和类的标识
  • 8.2.2 constructor 属性
  • 8.3 JS中Java式的类继承
  • 8.4 类的扩充
  • 8.5 类和类型
  • 8.5.1 instanceof 运算符
  • 8.5.2 constructor属性
  • 8.5.3 构造函数的名称
  • 8.5.4 鸭式辩型
  • 8.6 JS中的面向对象
  • 8.6.1 集合类
  • 8.6.2 枚举类型
  • 8.6.3 标准转换方法
  • 8.6.4 比较方法
  • 8.6.5 方法借用
  • 8.6.6 私有状态
  • 8.6.7 构造函数的重载和工厂方法
  • 8.7 子类
  • 8.7.1 定义子类
  • 8.7.2 构造函数和方法链
  • 8.7.3 组合 VS 子类
  • 8.7.4 类的层次结构和抽象类
  • 8.8 ES5中的类
  • 8.8.1 让属性不可枚举
  • 8.8.2 定义不可变的类
  • 8.8.3 封装对象状态
  • 8.8.4 防止类的扩展
  • 8.8.5 子类和ES5
  • 8.8.6 属性描述符
  • 8.9 模块
  • 8.9.1 用做命名空间的对象
  • 8.9.2 作为私有命名空间的函数
  • 九、正则表达式
  • 9.1 正则表达式的定义
  • 9.1.1 直接量字符
  • 9.1.2 字符类
  • 9.1.3 重复
  • 9.1.4 选择、分组和引用
  • 9.1.5 指定匹配位置
  • 9.1.6 修饰符
  • 9.2 用于模式匹配的String方法
  • 9.3 RegExp对象
  • 9.3.1 RegExp的属性
  • 9.3.2 RegExp的方法
  • 十、JavaScript的子集和扩展
  • 10.1 JS的子集
  • 10.1.1 精华
  • 10.1.2 子集的安全性
  • 10.2 常量和局部变量
  • 10.3 解构赋值
  • 10.4 迭代
  • 10.4.1 for/each循环
  • 10.4.2 迭代器
  • 10.4.3 生成器
  • 10.4.4 数组推导
  • 10.4.5 生成器表达式
  • 10.5 函数简写
  • 10.6 多catch从句
  • 客户端JavaScript试题(整理中)
  • 一、web浏览器中的JavaScript
  • 1.1 URL中的JavaScript
  • 1.2 同步、异步和延迟的脚本
  • 1.3 JS程序执行的时间线
  • 1.4 同源策略
  • 二、window对象
  • 2.1 计时器
  • 2.2 解析URL
  • 2.3 Nabigator对象
  • 2.4 window对象方法
  • 三、脚本化文档 DOM
  • 3.1 文档对象模型
  • 3.2 选择文档元素的方法
  • 3.3 文档遍历函数
  • 3.4 数据集采集
  • 3.5 元素的内容
  • 3.6 创建、插入和删除节点
  • 3.7 文档和元素的几何形状和滚动
  • 3.7.1 文档坐标和视口坐标
  • 3.7.2 查询元素的几何尺寸
  • 3.7.3 滚动
  • 3.8 其他文档特性
  • 四、事件处理
  • 五、脚本化HTTP
  • 5.1 ajax
  • 5.2 XMLHttpRequest对象
  • 5.2.1 指定请求
  • 5.2.2 取得响应
  • 5.2.3 编码请求主体
  • 5.2.4 HTTP进度事件
  • 5.2.5 中止请求和超时
  • 5.2.6 跨域HTTP请求
  • 5.3 借助<script>发送HTTP请求:JSONP
  • 5.4 基于服务器端推送事件端Comet技术
  • 六、客户端存储
  • 6.1 客户端存储的几种形式
  • 6.2 localStorage和sessionStorage
  • 6.3 cookie
  • 6.4 应用程序存储和离线web应用
  • 七、多媒体和图形编程
  • 7.1 脚本化图片
  • 7.2 脚本化音频和视频
  • 7.3 SVG:可伸缩的矢量图行
  • 7.4 Canvas
  • 八、HTML5 API
  • 8.1 地理位置
  • 8.2 历史记录管理
  • 8.3 跨域消息传递
  • 8.4 Web Worker
  • 8.5 类型化数组和ArrayBuffer
  • 8.6 Blob
  • 8.7 文件系统API
  • 8.8 客户端数据库
  • 8.9 webSocket协议
  • JavaScript重点概念试题(整理中)
  • 一、类型和语法
  • 二、作用域和闭包
  • 三、this和对象原型
  • 四、异步和性能
  • JavaScript真题(整理中)
  • Jquery试题(整理中)
  • ECMAScript试题(整理中)
  • 1. var、let 及 const 区别
  • 2. 原型继承和 Class 继承
  • 3. 模块化
  • 4. Proxy
  • 5. map, filter, reduce
  • 一、块级作用域绑定
  • 1.1 var声明和变量提升(Hosting)机制
  • 1.2 块级声明:let声明
  • 1.3 块级声明:禁止重声明
  • 1.4 块级声明:const声明
  • 1.5 块级声明:临时死区
  • 1.6 循环中的块级作用域及立即调用函数表达式解决方案
  • 1.7 循环中的let
  • 1.8 循环中的const
  • 1.9 全局块作用域绑定
  • 二、字符串
  • 2.1 UTF-16码位
  • 2.2 新增方法 codePointAt()
  • 2.3 新增方法 fromCodePoint()
  • 2.4 新增方法 normalize()
  • 2.5 新增解析字符串方法 includes()
  • 2.6 新增解析字符串方法 startsWith()
  • 2.7 新增解析字符串方法 endsWith()
  • 2.8 新增方法 repeat()
  • 2.9 模板字面量
  • 2.9.1 什么是模板字面量
  • 2.9.2 基础语法
  • 2.9.3 多行字符串
  • 2.9.4 字符串占位符
  • 2.9.5 标签模板
  • 三、函数
  • 3.1 函数形参的默认值
  • 3.1.1 ES5中模拟默认参数
  • 3.1.2 ES6中的默认参数值
  • 3.1.3 ES5中的 arguments 对象
  • 3.1.4 默认参数值对 arguments 对象的影响
  • 3.1.5 默认参数表达式
  • 3.1.6 默认参数的临时死区
  • 3.2 处理无名参数
  • 3.2.1 ES5中的无命名参数
  • 3.2.2 不定参数
  • 3.3 增强的 FUNCTION 构造函数
  • 3.4 展开运算符
  • 3.5 name属性
  • 3.5.1 什么是name属性
  • 3.5.2 name属性的特殊情况
  • 3.6 明确函数的多重用途
  • 3.6.1 什么是函数的多重用途
  • 3.6.2 在ES5中判断函数被调用的方法
  • 3.6.3 元属性 new.target
  • 3.7 块级函数
  • 3.7.1 ES6中的块级函数
  • 3.7.2 块级函数的使用场景
  • 3.7.3 非严格模式下的块级函数
  • 3.8 箭头函数
  • 3.8.1 箭头函数与传统 JS 函数的不同
  • 3.8.2 箭头函数的语法
  • 3.8.3 创建立即执行函数表达式
  • 3.8.4 箭头函数没有 this 绑定
  • 3.8.5 箭头函数和数组
  • 3.8.6 箭头函数没有 arguments 绑定
  • 3.8.7 箭头函数的辨识方法
  • 3.9 尾调用优化
  • 3.9.1 什么是尾调用
  • 3.9.2 ES6中尾调用的优化
  • 3.9.3 如何利用尾调用的优化
  • 四、对象
  • 4.1 对象的类别
  • 4.2 对象字面量语法扩展
  • 4.2.1 属性初始值的简写
  • 4.2.2 对象方法的简写
  • 4.2.3 可计算属性名
  • 4.3 新增方法
  • 4.3.1 Object.is()
  • 4.3.2 Object.assign()
  • 4.4 重复的对象字面量属性
  • 4.5 自有属性枚举顺序
  • 4.6 增强对象原型
  • 4.6.1 改变对象的原型
  • 4.6.2 简化原型访问的Super引用
  • 4.7 正式的方法定义
  • 五、解构:使数据访问更便捷
  • 5.1 对象解构
  • 5.1.1 解构赋值
  • 5.1.2 默认值
  • 5.1.3 为非同名局部变量赋值
  • 5.1.4 嵌套对象解构
  • 5.2 数组解构
  • 5.2.1 解构赋值
  • 5.2.2 默认值
  • 5.2.3 嵌套数组解构
  • 5.2.4 不定元素
  • 5.3 混合解构
  • 5.4 解构参数
  • 5.4.1 必须传值的解构参数
  • 5.4.2 解构参数的默认值
  • 六、Symbol 和 Symbol 属性
  • 6.1 什么是 Symbol
  • 6.2 创建 Symbol
  • 6.3 Symbol的使用方法
  • 6.4 Symbol共享体系
  • 6.5 Symbol与类型强制转换
  • 6.6 Symbol属性检索
  • 6.6 通过well-known Symbol暴露内部操作
  • 6.6.1 Symbol.hasInstance方法
  • 6.6.2 Symbol.isConcatSpreadable属性
  • 6.6.3 Symbol.match、Symbol.replace、Symbol.search和Symbol.split属性
  • 6.6.4 Symbol.toPrimitive方法
  • 6.6.5 Symbol.toStringTag属性
  • 6.6.6 Symbol.unscopables属性
  • 七、Set 集合 与 Map 集合
  • 7.1 ES5中的 Set 集合与 Map 集合
  • 7.2 ES6中的 Set 集合
  • 7.2.1 创建 Set 集合并添加元素
  • 7.2.2 移除元素
  • 7.2.3 Set集合的 forEach()方法
  • 7.2.4 将 Set 集合转换为数组
  • 7.2.5 Weak Set集合
  • 7.3 ES6中的 Map 集合
  • 7.3.1 ES6中的 Map 集合
  • 7.3.2 Map 集合支持的方法
  • 7.3.3 Map 集合的初始化方法
  • 7.3.4 Map 集合的 forEach 方法
  • 7.3.5 Weak Map 集合
  • Http协议试题(已完成)
  • 说明
  • 重点:输入 URL 到页面渲染的整个流程
  • 一、网络基础
  • 1.1 TCP/IP协议族
  • 1.1.1 什么是TCP/IP协议族
  • 1.1.2 TCP/IP协议族按层次划分了哪几次?
  • 1.1.3 HTTP请求时,TCP/IP通信传输流
  • 1.2 网络层:IP协议
  • 1.3 传输层:TCP协议、UDP协议
  • 1.3.1 TCP协议位于哪一层
  • 1.3.2 TCP头部有哪些重要字段?
  • 1.3.3 TCP协议的三次握手
  • 1.3.4 为什么 TCP 建立连接需要三次握手?
  • 1.3.5 UDP 与 TCP 的区别是什么?
  • 1.3.6 ARQ协议
  • 1.3.7 滑动窗口协议
  • 1.3.8 拥塞处理
  • 1.4 应用层:DNS服务
  • 1.5 URL和URI
  • 1.5.1 URI
  • 1.5.2 绝对URI的格式
  • 1.6 RFC
  • 二、Http协议
  • 2.1 HTTP请求报文组成
  • 2.2 HTTP协议的状态
  • 2.3 告知服务器意图的HTTP方法
  • 2.4 TCP的持久连接
  • 2.5 使用Cookie的状态管理
  • 三、HTTP报文内的HTTP信息
  • 3.1 HTTP报文类型和结构
  • 四、HTTP状态码
  • 五、与HTTP协作的 Web 服务器
  • 5.1 通信数据转发程序:代理
  • 5.2 通信数据转发程序:网关
  • 5.3 通信数据转发程序:隧道
  • 六、HTTP首部
  • 6.1 HTTP首部字段类型
  • 6.2 通用首部字段
  • 6.3 请求首部字段
  • 6.4 响应首部字段
  • 6.5 实体首部字段
  • 6.6 非HTTP/1.1 首部字段
  • 6.7 为Cookie服务的首部字段
  • 6.8 其他首部字段
  • 七、HTTPS
  • 7.1 HTTP的缺点
  • 7.2 HTTP与HTTPS
  • 7.3 HTTPS的加密方式
  • 7.4 HTTPS的通信步骤
  • 7.5 HTTPS的缺点
  • 八、基于HTTP的功能追加协议
  • 8.1 SPDY协议
  • 8.2 webSocket协议
  • 8.3 HTTP/2.0
  • Webpack(已完成)
  • 1. 减少 Webpack 打包时间
  • 2. 减少 Webpack 打包后的文件体积
  • 一、Webpack基础介绍
  • 1.1 模块化
  • 1.2 构建的作用及常见功能
  • 1.3 常见的构建工具及其优缺点
  • 1.4 webpack
  • 1.5 Loader
  • 1.6 Plugin
  • 1.7 DevServer
  • 1.8 webpack的核心概念
  • 二、Webpack配置
  • 2.1 Entry
  • 2.2 Output
  • 2.2.1 filename配置
  • 2.2.2 chunkFilename配置
  • 2.2.3 path配置
  • 2.2.4 publicPath配置
  • 2.2.5 crossOriginLoading配置
  • 2.2.6 libraryTarget 和 library配置
  • 2.2.7 var (默认)配置
  • 2.2.8 commonjs配置
  • 2.2.9 commonjs2配置
  • 2.2.10 this配置
  • 2.2.11 window配置
  • 2.2.12 global配置
  • 2.2.13 libraryExport配置
  • 2.3 Module
  • 2.3.1 Loader配置
  • 2.3.2 noParse配置
  • 2.3.3 parser配置
  • 2.4 Resolve
  • 2.4.1 alias配置
  • 2.4.2 mainFields配置
  • 2.4.3 extensions配置
  • 2.4.4 modules配置
  • 2.4.5 descriptionFiles配置
  • 2.4.6 enforceExtension配置
  • 2.4.7 enforceModuleExtension配置
  • 2.5 Plugin
  • 2.6 DevServer
  • 2.6.1 hot配置
  • 2.6.2 inline配置
  • 2.6.3 historyApiFallback配置
  • 2.6.4 contentBase配置
  • 2.6.5 headers配置
  • 2.6.6 host配置
  • 2.6.7 port配置
  • 2.6.8 allowedHosts配置
  • 2.6.9 disableHostCheck配置
  • 2.6.10 https配置
  • 2.6.11 clientLogLevel配置
  • 2.6.12 compress配置
  • 2.6.13 open配置
  • 2.7 其他配置
  • 2.7.1 Target配置
  • 2.7.2 Devtool配置
  • 2.7.3 Watch 和 WatchOptions
  • 2.7.4 Externals配置
  • 2.7.5 ResolveLoader配置
  • 2.8 如何整体配置结构
  • 2.9 判断如何配置 Webpack
  • 三、Webpack实战
  • 3.1 如何接入ES6
  • 3.2 如何接入SCSS
  • 3.3 React的使用
  • 3.4 Vue的使用
  • 3.5 使用 Angular2 框架
  • 3.6 为单页应用生成 HTML
  • 3.7 离线应用
  • 3.7.1 使用 Service Workers 实现离线缓存
  • 3.7.2 接入 Webpack
  • 3.8 检查代码
  • 四、Webpack优化
  • 4.1 缩小文件搜索范围
  • 4.1.1 优化 loader 配置
  • 4.1.2 优化 resolve.modules 配置
  • 4.1.3 优化 resolve.mainFields 配置
  • 4.1.4 优化 resolve.alias 配置
  • 4.1.5 优化 resolve.extensions 配置
  • 4.1.6 优化 module.noParse 配置
  • 4.2 构建动态链接库
  • 4.2.1 接入 Webpack
  • 4.2.2 如何实现构建动态链接库
  • 4.3 如何把任务分解给多个子进程去并发的执行
  • 4.4 多进程压缩代码
  • 4.5 使用自动刷新
  • 4.6 热模块替换
  • 4.6.1 优化模块热替换
  • 4.7 区分环境
  • 4.7.1 实现原理
  • 4.8 CDN加速
  • 4.8.1 用 Webpack 实现 CDN 的接入
  • 4.9 Tree Shaking优化
  • 4.9.1 接入 Tree Shaking
  • 4.10 提取公共代码
  • 4.10.1 如何通过 Webpack 提取公共代码
  • 4.11 按需加载
  • 4.11.1 用 Webpack 实现按需加载
  • 4.11.2 实例强化(按需加载与 ReactRouter)
  • 4.12 优化代码在运行时的效率
  • 4.12.1 接入 Webpack
  • 4.13 开启 Scope Hoisting
  • 4.13.1 接入webpack
  • 4.14 输出分析
  • 五 . Webpack原理
  • 5.1 流程概括
  • 5.2 流程细节
  • 前端监控
  • 1. 页面埋点
  • 2. 性能监控
  • 3. 异常监控
  • 浏览器( 整理中 )
  • 1. 为什么会有cookie?
  • 2. 浏览器内核
  • 3. cookies,sessionStorage和localStorage的区别