家人们,我来交作业啦! 以下是张琪老师主讲的深入理解 JS课程的笔记。 通过这个课程,可以了解的内容有: 课程内容主要有:
01 JS的基本概念
02 JS是怎么执行的
03 JS的进阶知识点
04 课程总结
01 JS的基本概念
js是一种脚本语言,不需要进行编译,也是浏览器中的一部分,
已经被泛用于Web应用开发,常用来为网页添加各式各样的动态功能,
为用户提供更流畅美观的浏览效果。
JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,
而JavaScript是在程序的运行过程中逐行进行解释。
JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。
JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输
入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作
JavaScript都可直接对这些事件给出相应的响应
关于进程:
JS数据类型:
JS作用域:
var有变量提升
let、const没有变量提升
02 JS是怎么执行的
js代码的执行,主要分为两个阶段:编译阶段、执行阶段
全局执行上下文:代码开始执行时就会创建,将他压执行栈的栈底,每个生命周期内只有一份
函数执行上下文: 当执行一个函数时,这个函数内的代码会被编译,生成变量环境、词法环境等,当函数执行结束的时候该执行环境从栈顶弹出
03 JS的进阶知识点
js的垃圾回收机制
js的事件循环
04 课程总结
1.JS是单线程的,但是Render进程里面有多个线程
2.JS线程和GUI线程互斥,执行大的计算任务会导致页面卡顿
3基础数据类型存在栈上,复杂数据类型存在堆上
4.const、let没有变量提升,提前使用会报错
5.JS也有编译的过程,执行之前会生成执行上下文
6.一个执行上下文包括变量环境、词法环境、this
7变量环境里面有一个指向外部函数执行上下文的指针,形成了作用域链
8.全局执行上下文只有一份
9.this和执行上下文绑定