2010-06-18 3 views

답변

7

문제는 그 프리미티브 값 (String, Number, Boolean, undefinednull) 값에 의해 작동하고, 그들이 비 가변이다. 희망은 내 문제를 해결할 것입니다 ...

var a = [{value: 1}, {value:2}, {value:3}, {num:4}]; 
var b = [a[1], a[2], a[3]]; 

alert(a[1].value); // 2 
b[0].value = "foo"; 
alert(a[1].value); // "foo" 
+0

재미있는 아이디어 +1 –

+0

멋진 트릭 :

당신은 당신이 원하는 동작을 얻을 수있는 배열 요소 등의 개체를 사용하는 경우. 이것이 전반적인 성능에 어떤 영향을 주는가? – markovuksanovic

+0

@markovuksanovic, 나는 당신이 어떤 성능 문제도 없을 것이라고 생각한다.'b'는 단순히 참조 * 배열이다. 각 배열 요소의 값은 원래의 객체를 가리키는 참조 일 뿐이다. 순환 참조를 만들지 않도록 조심하십시오. 그러면 개체가 가비지 수집되지 않습니다. @ 다니엘, 고마워! – CMS

관련 문제