一、深拷贝和浅拷贝
js中的两种变量类型,即值类型(数值、布尔值、null、undefined)和引用类型(对象、数组、函数)。深拷贝和浅拷贝只针对引用类型。
感觉上浅拷贝就是引用,深拷贝是新建。
宗旨就是新生成的对象不改变源数据,不管怎样实现,都可以理解为深拷贝。
深拷贝方式一:变成按值传递
深拷贝方式二:创建一个新对象 遍历要拷贝的对象属性添加给新对象。
二、按值传递
按值传递是针对简单类型的,值类型传递就是两个变量,毫无关系。
三、按址传递
按址传递是针对引用类型,对象,数组。
引用类型就是两个变量,但是内存地址是一个。
引用类型等于复制指针。
但是函数比较特殊,函数是按照值传递的。
这是自己的一点总结,有什么问题或者不对的地方欢迎留言交流,谢谢。