Js变量类型:值类型和引用类型
1.值类型占用空间固定,保存在栈中。
2.保存和复制的都是本身
3.用typeof可以检测数据类型
4.基本数据类型数据是值类型
1.引用类型占用空间不固定,保存在堆中。
2.保存的是指向对象的指针。
3.用instanceof去检测数据类型。
4.用new()方法构造出的引用类型。
值传递和引用传递,引用对象保存的不是值,是值的物理地址。(传值和传址)
对象没有被任何指针指向,js的回收机制会将对象销毁并回收内存。
引用类型的和=比较都是比较地址。不同的对象包含着相同的值也不会相等。可以将对象转换为字符串在去比较对象是否相等,这时候值相等的对象就会相等。
基本数据类型传入函数,函数会把数据拷贝复制给函数的参数变量。
纯函数是,给定一个输入只有唯一的输出,并且不影响外部环境变量。
JSON.parse会形成新的对象,所以在深拷贝的时候可以使用JSON.stringify转换为字符串再通过JSON.parse转化为新的对象,但是有局限是对象的属性值不能为undefined。
Js数据类型,基础数据类型布尔,string,number。特殊数据类型null,undefined。引用数据类型object