-1
おそらくこれはばかな質問:)Javascript変数の割り当て|
var x = [1, 2, 3];
var y = x; // Value of x is stored in y
y[0] = 5;
alert(x[0]); // returns 5. Why?
xは、[0]理想的に1であるべきであるが、なぜそれ5ですか?
おそらくこれはばかな質問:)Javascript変数の割り当て|
var x = [1, 2, 3];
var y = x; // Value of x is stored in y
y[0] = 5;
alert(x[0]); // returns 5. Why?
xは、[0]理想的に1であるべきであるが、なぜそれ5ですか?
xは配列の最初の要素のアドレスを含み、x = yはそれをyに渡します。したがって、y [0]はx [0]と同じです。これは、x [0]がアドレスをx + 0、y [0]をy + 0とするためです。 yとxは同じなので、y [0]とx [0]は同じ場所を指します。
ありがとうございました@Akshey – Mahendhar
変数 'x'と' y'は、同じ配列への参照を保持します(これはオブジェクトの値です)。 1つの配列しかありません。それは、あなたが変更している '0'インデックスを持つ配列です。 – Bergi
配列の参照*ではなく*値*をコピーしました。何をするかは、実際には配列をクローン化することです。 –