【跟着月影学 JavaScript | 青训营笔记】

55 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第3天。
看完了《跟着月影学JavaScript》的几个教学视频,我有以下几点内容想要和大家分享一下。
1.JavaScript的两种数据类型
(1)基础类型
基础类型数据保存在栈内存里,也叫原始类型。基础类型有:Number,String,Boolean,Undefined,Null,Symbol。
(2)复杂类型 因为复杂类型通常内存占据空间较大,所以复杂类型数据保存在堆内存里,在栈内存放的是地址。复杂类型也叫引用类型。复杂类型有:对象:{}、数组:{}、函数:(){}

2.JavaScript底层剖析之new的作用
new关键字的作用就是把对象返回了回来,将构造函数的作用域赋值给新对象,把构造函数的this指向了要返回的对象上。

3.深拷贝与浅拷贝
浅拷贝的意思就是对于引用类型而言,指两个引用类型指向同一个地址,改变一个,另一个也会随之改变。深拷贝即对于引用类型而言,复制后引用类型指向一个新的内存地址,两个对象改变互不影响。不过这里要注意的是 基础类型数据的赋值与深拷贝类似,但是基础类型赋值不属于深拷贝,深拷贝与浅拷贝都只针对复杂类型而言

4.JavaScript函数中的重要概念之形参与实参
形参指的是声明函数时定义的参数,而实参是指调用函数时传的一个参数。
形参和实参有如下这些特点:
首先形参和实参是一一对应的,但是数量可以不对应,比如说形参有两个,实参有三个,那么程序会自动把实参的第三个参数忽略掉。同时,参数的类型可以是不确定的,比如说当实参中有一个是数字,有一个是布尔值ture时,程序会把ture转化为number再进行计算,ture转number为1。函数可以设置默认参数,实参可以是字面量也可以是变量,定义好了就可以引用。