课程介绍
JavaScript 是前端开发的立身之本,不论任何框架,JS 都是本质。既是各大主流框架的编程语言,也是前端技术中的 “不变底层” 之一。

本课程旨在提升编程内功,补齐原生 JS、底层原理、面试中的算法短板。学透 JS ,再结合前端实际开发场景,反复训炼。不仅是掌握一门脚本语言,还能够拓展前端认知,助你在大牛成长之路上达到事半功倍的效果。

熟练掌握 9 大 JavaScript 核心知识、重难点技能,系统全面覆盖一步到位

从核心基础 到 高级进阶 再到 重难点原理解析、数据结构算法 与 项目实战应用场景 和 面试真题解析,点、线、面结合深入浅出逐个攻克

JS 重难点 JS 核心知识
线程与进程
位运算符
栈内存和堆内存
变量和函数提升
IIFE应用场景
作用域
闭包
JS 执行原理
数组对象深拷贝
原型和原型链
this指向
执行上下文
调用栈和栈溢出
内存泄露和溢出
垃圾回收
call
bind
apply
同步异步
try...catch
链式调用
变量与常量
数据类型
类型转换
表达式
运算符
流程控制语句
数组
函数
面向对象
构造函数
继承
Number
String
Boolean
defineProperty
继承
Math
Date
正则
左查询与右查询
DOM + BOM 重难点 DOM + BOM 核心知识
事件冒泡与捕获
事件委托
防抖节流
碰撞检测
拖拽排序
图片懒加载
单选与全选
轮播图
选项卡
楼梯式导航
吸顶盒
伸缩菜单
滚动加载更多
滚动缩放动画
表单验证
过渡事件
过渡动画
动态加载图片
JS兼容性处理
动态加载JS和CSS
文档片段
获取与当前元素相交的最近兄弟元素
判断元素是否在可视区
获取DOM元素
操作CSS样式
获取元素尺寸
节点操作
DOM事件
事件流
事件对象
定时器
延时器
JS动画
CSS3 动画
鼠标事件
键盘事件
鼠标滚轮事件
表单事件
拖拽事件
window相关事件
requestAnimationFrame
ES6 重难点 ES6 核心知识
Symbol应用
块级作用域
事件循环
宏任务与微任务
回调地狱问题
promise实现原理
async、await原理
实现并发与继发
迭代器Iterator原理
weakMap的应用
手写Promise.race等方法
区分import与import()函数
let + const
Symbol
Bigint
模板字符串
箭头函数
解构赋值
对象字面量增强
剩余参数
展开运算符
Set
weakSet
Map
weakMap
ES6 新增方法
Class类
Promise
Module
迭代器模式
Iterator
for...of
Generator
Proxy
Reflect
async、await
网络请求重难点 核心知识
HTTP 缓存
HTTPS 加密
同源策略
跨域请求
Cookie 的应用
LocalStorage应用
Axios 二次封装
Axios 拦截器
Fetch 的应用
错误处理
Mock 数据
浏览器渲染流程
HTTP 缓存
HTTPS 加密
同源策略和跨域请求
cookie 的应用
LocalStorage应用
axios 二次封装
axios 拦截器
Fetch 的应用
错误处理
Mock 数据
浏览器渲染流程
算法核心知识
队列
穷举法
累加器
累乘器
递归算法
冒泡排序
快速排序
二分查找
时间复杂度
空间复杂度

知识点结合企业面试真题 100+,扫除 JS 技术盲点,拒绝一知半解

知识点都学完了,但面对面试,你依然不知道如何应对?精选了 100+ 个高频面试题,带你彻底掌握 JS 技术,轻松应对面试。

变量+函数+数据类型
  • let、const 和 var 的区别
  • 手写一个方法可以判断出任意不同的数据类型
  • 实现一个缓存函数的方法
  • 实现函数的链式调用
  • 说说变量提升与函数提升?
  • 箭头函数和普通函数的区别?
  • . . . . . .
数组与对象
  • 类数组怎么转换为数组,说说你知道的所有方法
  • 数组去重、求两个数组的交集
  • new 调用函数四步典
  • 数组原型链的终点
  • 说说你对原型链的理解及原型链的终点是什么?
  • 说说 this 在不同场景下的指向
  • . . . . . .
手写内置方法
  • 手写数组的 filter、find、slice 等方法
  • 手写 Flatten 方法,实现数组的扁平化
  • 手写 call、bind、apply 方法
  • 手写 Object.create 方法
  • 手写Promise的any、all、race、allSettled方法
  • 手写实现 ES6 的模板字符串
  • . . . . . .
DOM与BOM
  • 找出与当前元素最近的一个元素
  • 如何判断两个元素发生了碰撞
  • 如何交换两个元素在节点中的位置
  • 什么是事件捕获和事件冒泡 ?
  • 什么是事件委托及应用场景?
  • 实现拖拽排序
  • JS 实现图片懒加载效果
  • JS 实现滚动加载更多
  • 定时器动画会出现卡顿、抖动?该如何解决?
  • 手写防抖与节流函数
  • . . . . . .
Event Loop事件
  • 进程和线程的理解和区别
  • JS 为什么被设计为单线程的?
  • 说说你对同步和异步的理解
  • 说说 JS 中有哪些异步任务?
  • 说说 JS 中的宏任务与微任务?
  • 说说 JS 中事件循环的执行过程
  • 四道关于异步代码的分析题
  • . . . . . .
垃圾回收 + 闭包 + 作用域
  • 说说你对 JS 作用域的理解
  • 怎么理解 JS 静态作用域和动态作用域
  • 说说 JS 中垃圾回收的机制?
  • 你对闭包的理解?闭包里面的变量为什么不会被回收
  • 闭包的应用场景?闭包是否会造成内存泄露?
  • 如何理解内存泄露和内存溢出?
  • 列举一个产生内存泄露的案例,你是如何处理的?
  • . . . . . .
ES6 相关
  • JavaScript 中有没有可能让(a === 1 && a === 2 && a === 3)返回true ?
  • Object 和 Map 的区别及相互转换
  • Map 与 WeakMap 的区别 ?
  • 将对象变成一个可迭代的对象
  • 说说 import 与 import() 函数的区别?
  • 利用 map 记录字符串中每个字符出现次数
  • 找数组中的主要元素
  • 使用 Promise 封装一下 ajax
  • 有了 Promise 为什么还需要 async/await
  • 使用 Promise 实现 sleep 函数
  • . . . . . .
网络通信
  • Cookie、localStorage、sessionStorage 的区别和应用场景
  • 说说你对跨域的理解?什么是同源策略?
  • 如何实现跨域资源共享?
  • 如何防止客户端读取 cookie
  • 强缓存和协商缓存区别
  • 如何实现继发与并发
  • 说说你了解那些状态码,这些状态码的含义?
  • 在浏览器中输入 url 到页面呈现,中间经历了什么?
  • . . . . . .
基础算法
  • 鸡兔同笼、寻找水仙花数
  • 实现冒泡与快速排序
  • 算法空间和时间复杂度理解与取舍
  • 求斐波那契数列第 n 项值
  • 实现数组与对象的深克隆
  • 将一个数组旋转 k 步
  • 判断字符串中插号匹配是否正常
  • 找出一个数组中和为 n 的两个数
  • 二分法查找数组中某个元素
  • 求字符串中连续最多的字符,以及次数
  • 说说你对栈和队的理解
  • 利用 JS 实现循环队列
  • 深度优先遍历 DOM 树
  • . . . . . .

70+ 精选案例手写专项训练,从简单到复杂循序渐进,带你吃透每一个知识点

知识点与案例相结合,确保你掌握每一个知识点,并能够灵活运用,提升你的开发能力

与视频一一对应的图文教程,方便日常复习、面试和查阅

每节课都配有 与 视频 一 一 对应的完整在线图文教程、源代码、开发素材,方便日常复习、面试、项目开发过程中随时可查阅(不再去众多视频中查找),图文学习查询效率更高

超 42 万字详细解说 160+ 知识点

JavaScript 核心基础 + 算法 + 同步面试真题解析

查看完整目录

JS 面向对象、执行原理、闭包 与 垃圾回收、错误处理、左右查询

查看完整目录

DOM 操作、定时器、延时器、CSS3 动画事件、防抖节流,拖拽、碰撞检测 及最佳实践

查看完整目录

BOM 操作 及 实际项目开发中的最佳实践

查看完整目录

栈 与 队列、继承,Math、Date 对象 及最佳实践

查看完整目录

正则表达式 入门 到 实际项目开发中的最佳实践

查看完整目录

ES6 ~ ES13 深入底层原理、面试真题解析、项目最佳实践

查看完整目录

网络请求 与 实践应用

查看完整目录

课程专属 VIP 服务,个性化指导,不走弯路、提高学习效率

为同学们提供针对性的指导,找到适合自己的学习方式 和 路径规划,覆盖预习、学习、练习、项目实践、面试真题解析、复习 到 就业工作相关资料。

明星导师团

曾就职于一线大厂,腾讯、阿里、京东、百度、滴滴、携程、去哪儿网、唯品会等。

课程更重视企业最佳实践、底层原理、实战经验,企业工作中怎么做就怎么学、无缝衔接。

个性化学习路径规划指导
针对个人当前基础情况 和 学习投入时间,规划适合你的学习路径 和 学习方式,阶段性总结动态调整学习 及 练习节奏。
图文教程 + 视频 + 源码
每节课都配有 与 视频 一 一 对应的完整在线图文教程、源代码、开发素材,方便日常复习、面试、项目开发过程中随时可查阅(不再去众多视频中查找),图文学习查询效率更高
技术答疑 + 圈子交流
遇到技术问题,可跟授课老师 一对一交流,针对性解决个性化技术问题 以及 相关工作、项目经验。加入技术社群,与全球的同学(来自不同国家地区)交流拓展视野。
远程一对一协助问题解决
在日常练习 和 项目开发中遇到疑难杂症,各种难解的 Bug,老师会远程协助帮助同学一对一远程操作 和 视频语音解决问题。
专属技术博客
为同学们开发了专属技术博客,内容涵盖了最新中小企业 和 一线大厂 相关 Web 全栈相关技术实践、研究 与 知识分享,以及面试真题和答案解析等。
面试真题 + 就业指导
一对一简历指导,投递、注意事项,将所学知识 、项目、面试真题解析,萃取成适合自己 且 有竞争力的经验,找到自己真正的亮点。
适合人群
课前准备
个性化专属服务

课程导航