2013-04-11 2 views
0

그것은는 TextContent이 노드의 속성처럼 보이지만, 예상대로 이유를 아래의 코드는 작동하지 않습니다참조를 변경할 때 textContent를 참조에 지정하면 DOM이 업데이트되지 않는 이유는 무엇입니까?

http://jsbin.com/ukexab/1/edit

var d = document.getElementById("container"); 

var data = {text: "something different"}; 

d.textContent = data.text; 

data.text = "new text"; 

이 복사 같은 및 참조 아닌가?

+1

예 JavaScript는 assign이 아닌 assign을 사용하고 전달합니다. –

+0

변경시 값을 다시 지정해야합니다. d.textContent = "새 텍스트"; –

+0

@FelixKling 개체 및 배열에는 해당되지 않습니다? –

답변

2

예, 할당 작동 방식 때문입니다.

Object 또는 그로부터 파생 된 변수를 변수에 할당하면 실제로 해당 객체에 대한 참조가 할당되고 객체의 참조 횟수가 증가합니다.

프리미티브를 할당하면 해당 값의 복사본이 전달됩니다.

+0

oops 나의 나쁜, 그것은 단지 미끄러졌다!, thanks :) –

관련 문제