ポイント
「変数」または「プロパティ」は、「オブジェクト」または「リテラル」を指します。
「変数」または「プロパティ」は、「変数」または「プロパティ」を指し ません。
説明
以下のように書いたとき、
変数 x
に入っているオブジェクトは、
変数 y
ではなくリテラル true
を指します。
js
1var x = [
2 {key: '1', value: y},
3 {key: '2', value: y},
4 {key: '3', value: y},
5 {key: '4', value: y}
6]
console.dir(x)
の結果を思い出してください。
y
ではなく true
と表示されます。
コード
value プロパティの値を変えたい場合は、
リテラルではなくオブジェクトを渡し、
オブジェクトのプロパティを変化させます。
js
1var y0 = { value: true };
2var y1 = { value: true };
3var y2 = { value: true };
4var y3 = { value: true };
5
6
7var x = [
8{key: '1', y0},
9{key: '2', y1},
10{key: '3', y2},
11{key: '4', y3}
12]
13
14console.dir(x);
15
16
17function test(){
18 y0.value = false;
19 y1.value = false;
20 y2.value = false;
21 y3.value = false;
22 console.dir(x);
23}
24
25test();
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。