Jan*_*any 4 javascript arrays global-variables
.push()方法有以下问题:
var myArray = ["a", "b", "c", "d"];
function add(arr) {
arr.push("e");
return arr;
}
add(myArray);
// myArray is now ["a", "b", "c", "d", "e"]
Run Code Online (Sandbox Code Playgroud)
为什么它会覆盖myArray?无法理解......
Javascript(和大多数其他语言)中的数组通过引用传递.
在编写时add(myArray),您将传递对全局myArray变量引用的同一Array实例的引用.
通过两个引用都可以看到对数组对象的任何更改.
要复制实际的数组实例,请写入add(myArray.slice());.
请注意,这不会复制其中的对象.