深入理解JS | 青训营笔记

33 阅读2分钟

今天的课程,我们学习了JS的基本概念、JS是怎么执行的、JS的进阶知识点。

首先,我们学习了JS的数据类型。JS有六种基本数据类型,分别是:number(数字)、string(字符串)、boolean(布尔)、null(空)、undefined(未定义)和symbol(符号)。这些数据类型都是原始类型,也就是说它们不能被修改或者改变。除了这些基本数据类型,JS还有一种复杂数据类型,就是object(对象)。对象可以包含多个属性和方法,可以被创建、修改和删除。对象有很多种类,比如数组、函数、日期、正则表达式等等。

接下来,我们学习了JS的作用域。作用域是指变量或者函数在代码中的可见范围。JS有两种作用域,分别是:全局作用域和局部作用域。全局作用域是指在代码的最外层定义的变量或者函数,它们可以在任何地方被访问或者调用。局部作用域是指在函数内部定义的变量或者函数,它们只能在函数内部被访问或者调用。如果在局部作用域中使用了和全局作用域中相同的变量名,那么局部作用域中的变量会覆盖全局作用域中的变量。

然后,我们学习了JS的变量提升。变量提升是指在执行代码之前,JS会把所有的变量声明和函数声明提升到当前作用域的顶部。这意味着我们可以在变量声明之前使用变量,或者在函数声明之前调用函数。但是要注意的是,只有声明会被提升,赋值不会被提升。所以如果我们在变量声明之前使用变量,并且给它赋了一个值,那么这个值不会被使用,而是会使用undefined。

最后,我们学习了JS的进阶知识点,包括闭包、this和垃圾回收。闭包是指一个函数能够访问并操作它外部的变量或者函数。闭包可以实现一些特殊的功能,比如私有化数据、模拟块级作用域、实现柯里化等等。this是指在函数执行时,当前的执行上下文。this的值取决于函数是如何被调用的,不同的调用方式会导致不同的this值。垃圾回收是指JS自动管理内存的机制。当一个变量或者对象不再被引用时,它就会被垃圾回收器回收并释放内存。

JS还是十分好用的,但是TypeScript赛高