前言
今天这节课讲了JS的基本概念、JS是怎么执行的、JS的进阶知识点和课程总结等。
什么是JavaScript
JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。
JS的基本概念
诞生:1995年,Brendan Eich开发
- 借鉴C语言的基本语法
- 借鉴Java语言的数据类型和内存管理
- 借鉴Scheme语言,将函数提升到“第一等公民”(first class)的地位
- 借鉴Self语言,使用基于原型(prototype)的继承机制
JS的基本模型
JavaScript的线程
JavaScript的语言类型
JavaScript面向对象,函数式
JS的基本概念-数据类型
JS的基本概念-作用域
JS是怎么执行的
首先就是找到源代码,进行词法\语法分析来执行AST并且创建一个执行上下文,然后转换成字节码并逐行解释执行字节码转换成机器码如下图:
- 全局执行上下文:代码开始执行时就会创建,将他压执行栈的栈底,每个生命周期内只有一份。
- 函数执行上下文:当执行一个函数时,这个函数内的代码会被编译,生成变量环境,词法环境等,当函数执行结束的时候该执行环境从栈顶弹出。
JS的进阶知识点
JS的进阶知识点-闭包
JS的进阶知识点-this
JS的进阶知识点-垃圾回收
首先我对这里的理解,我是学过java的GC的所以感觉收回机制都相差不大,如下面老师讲的:
- 垃圾标记
- 对象复制
- 区域反转
JS的进阶知识点-事件循环
总结:
今日学习了很多,对之后学习JavaScript奠定了基础,尤其是对JS的垃圾回收期这里理解甚是透彻,老师讲的也不错,课程总结也就是老师最后说的还是比较权威的如下图: