# JavaScriptThoroughly
**Repository Path**: cos-one/JavaScriptThoroughly
## Basic Information
- **Project Name**: JavaScriptThoroughly
- **Description**: 《JS高级进阶》课程
- **Primary Language**: HTML
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 15
- **Forks**: 4
- **Created**: 2022-12-12
- **Last Updated**: 2023-07-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# JavaScript Thoroughly
## ✨课程介绍
本系列课程旨在学习 **JavaScript** 在**运行时的底层逻辑**,区别于目前大部分教程,几乎不教学任何语法(可能会教少量语法,不过目的还是说明语法背后的逻辑)
#### 本系列课程大纲:
#### 第一篇:Js的宿主 --> 浏览器
**开天辟地,建立前端体系的地基**
***💫 浏览器篇:***
- JavaScript到底是个啥? `JS发展史`
- 程序到底是个啥? `程序,进程和线程`
- 浏览器是一个怎样的程序? `浏览器架构分析`
- 浏览器内核究竟是个啥? `渲染进程工作原理`
- 我们看到的页面是如何形成的? `渲染引擎工作原理`
> **😎本篇总结:**
>
> 本篇学完并掌握后,你能从宏观上重新认识JS,并且大致了解 我们写的 HTML 如何被浏览器呈现出来,你会学到一些重要的概念,如 `事件循环` ,`任务队列` , `JS的异步执行`, `Reflow的本质` ... 等等
>
> 该篇是你建立整个前端学习体系的基石,相对比较底层,从某种层面上说,比较深入,但从专业的角度来说,又比较浅
>
> 总结来说,本篇深入浅出,让你写的代码不再是黑盒!
#### 第二篇: Js的心脏 --> 核心原理
**核心中的核心,前端的心脏**
⭐**JS解析引擎核心篇:**
***对象(核心)篇:***
- 对象的本质是什么? `引用类型和基本类型的底层区别`
- JS为什么不能称之为面向对象语言? `js的灵魂:对象`
- JS对象的驱动:原型链详解 `透彻理解原型链`
- new关键字到底是个啥 `构造函数的本质`
- ES6对象语法糖机理 `谢谢你,语法糖`
***函数(核心)篇:***
- Js王冠上最闪亮的宝石! `Js中最重要的概念,执行上下文`
- 闭包原来这么简单 `作用域,闭包的本质`
- 函数式!第一类对象! `什么?函数的本质居然是对象`
- this ? 就这? `this的本质`
- ES6箭头函数机理 `箭头函数yyds`
> 📚本篇总结:
>
> 🦄🐳🐧🐥!!!
>
> 本篇可以说是整个 **`JS的心脏`**
>
> 你对JS的理解程度,百分之九十取决于你对本篇的理解程度,
>
> 本篇是整个系列中的核心,是JS作用机理的关键,
>
> 可以这样说,Js的运作,全靠本篇的逻辑进行支撑,
>
> 完全掌握本篇,Js 手到擒来,其他的就交给时间和记忆
#### 第三篇: Js的进阶 --> 必不可少的知识
**优质程序必备技能**
***函数(进阶)篇:***
- 开启异步编程! `Promise基础`
- 高级工具!生成器 `生成器及其原理`
- 刻入 DNA! `手写Promise实现`
- Async ? Await ? Easy! `语法糖的本质`
- 优雅的函数式编程 `简单了解函数式编程`
***对象(进阶)篇:***
- "."点运算符的本质 `[[GET]]和[[PUT]]`
- 对象访问的控制! `getter,setter, 属性描述符`
- 发挥对象的能量! `常用内置对象`
> **🦄本篇总结:**
>
> 本篇是一些好像比较难的知识点,但却是写出优质程序不可缺少的技能。
>
> 但是,如果你前面的基础掌握很好的话,突破这里也轻而易举,相信你在这个阶段以后,已经是一名相当厉害的Js工程师了
#### 第四篇: Js的工具箱
***难免会用到的知识:***
- Js 的数据是如何编码的 ? `IEEE754和Unicode`
- 更合理的代码组织! `模块化开发`
- ES6 ! GOOD! `ES6难点解读`
- 不能心急的正则表达式 `正则表达式详解`
#### 第五篇: 浏览器宿主下的 Js
**DOM与BOM技巧**
....
---
### 课程须知:
本系列课程难度较高,内容充实,不是入门JS,而是深入JS
#### 面向人群:
本系列课程**不适合**下列人群:
- 从未接触过 `JavaScript` ,试图入门 JS 语法
- 没有任何计算机学习经验 (其实如果你有一点编程经验就够了)
- 懒惰的大脑 (本课程难度可能比较高,因此某些知识点可能需要反复的观看和思考,因此需要付出较多的时间,也需要你勤劳思考)
本系列课程**适合**于以下人群:
- 掌握 `Javascript` 基础语法 (会ES6更佳,不会也没关系)
- 不满足于表象的语法层面
- 目标工程师而不是码农
#### 资料获取:
ppt,代码,任务将全部收录于本仓库
#### 交流答疑群:

---
### 课程地址
> 🎈提示:按住 `ctrl` 点击图片进入课程视频
---
### 课程资料参考:
(逐步补充中)
《Javascript忍者秘籍》
谷歌官方文档
谷歌开源仓库
阮一峰Js教程(旧版)
阮一峰Js教程(新版)
现代Js教程
OliverLiu博客
GeeksForGeeks