对于基本数据类型,存储的方式是键—值存在栈中,对于引用数据类型,存储的方式是键—引用地址存在栈中,引用地址对应的值存在堆中,所以直接使用=赋值引用数据类型只是统一两个变量的引用地址,属于浅拷贝。 该原理参见博客 JavaScript中数组深拷贝的方法: var arr=[1,2,3,4,5]; 1. var copy=arr.slice(0); 2. var copy=arr.concat(); 3. 使用for循环 4. var copy=[...arr]; //es6特性,只能深拷贝一层 参见博客