我正在处理我编写的一些代码中的错误,而罪魁祸首竟然是这个代码段(为了问题而简化):
var a = [1, 2, 3, 5, 4];
// later...
function f(arr) {
var sorted = arr.sort();
// other stuff
}
// later...
console.log(a);
// logs [1, 2, 3, 4, 5]!
我的问题是,为什么a
在函数完成后保持排序?当然在JS中,所有变量都是通过值传递而不是引用?
答案 0 :(得分:0)
答案 1 :(得分:-1)
Array是一个Object。在javascript中,所有对象都通过引用传递。