var a = [3, 4, 5];
var b = [6, 7, 8];
function why() {
b = a;
b[0] = 1;
alert(a[0] + ' ' + b[0]);
}
why();
Run Code Online (Sandbox Code Playgroud)
结果是a[0]=1, b[0]=1;.好像JavaScript正在通过引用传递?
但在这种情况下:
var a = [3, 4, 5];
var b = [6, 7, 8];
function why() {
b = a;
b = [1, 2, 3];
alert(a + ' ' + b);
}
why();
Run Code Online (Sandbox Code Playgroud)
结果是a=[3,4,5]和b = [1,2,3].它为什么通过价值?如何避免通过引用传递?
javascript ×1