1. === 和 == 的区别?
- ==:相等, (值相等),计算两者时,可以转换为同一类型,在进行判断。
- ===:恒等(值相等,类型相同),类型不同,其结果就是不等。
- 1==true时,1和true类型不同,先做类型转换,把true转换为1,即为1=1,相等,所以结果为true;
- 1===true时,左侧为Number类型,右侧为bool布尔型,两侧类型不同,结果为false;
- 1===1时,类型相同,值相同,所以结果为true.
2. 深浅拷贝:对于引用数据类型的操作
- 浅拷贝:对数组和对象的复制,复制的是引用类型数据的地址,所以改变地址相同中的值时,原数组和对象中的值也会收到影响。
- 深拷贝:创建一个新的地址,新的存储空间,把一个引用数据类型中的数值数据复制到这个新的地址空间中,相当于两个独立的存储空间,操作其中一个的数据,另一个不会受到影响。