2013-02-25 1 views
0

왜 내가 이것을 할 수 없는지 나는 이해할 수 없다?javascript가있는 객체가있는 객체에서이 변수를 설정할 수없는 이유는 무엇입니까?

function hello() { 
    this.say = 'fdfsd'; 
} 
function goodbye() { 
    this.example = new hello(); 
} 

하지만 그렇게하면 작동합니다.

function hello() { 
    this.say = 'fdfsd'; 
} 
function goodbye() { 
    this.example = false; 
} 
var goodbye = new goodbye(); 
goodbye.example = new hello(); 
+2

'캔트'라는 뜻이야? new goodby()는 첫 번째 예제에서 작동합니다 – Daniil

+0

제 스크립트에서 다른 객체를 사용하여 객체에 변수를 설정하려고했지만 작동하지 않습니다. – Griff

+0

"작동 여부"는 무엇을 의미합니까? ** 당신은 ** 어떤 일이 일어나기를 기대합니까? 실제로 ** 어떤 일이 발생합니까? – RobG

답변

3

당신은 (유형 goodbye의) 새로운 객체를 생성합니다 생성자를 호출 goodbye

var x = new goodbye(); 

구성해야합니다. 이 줄은 유형 hello의 객체를 생성하고 이것이 건설 후 goodbye 예를

this.example = new hello(); 

example 속성에 할당됩니다

무엇 goodbye의 인스턴스를 포함 할 무엇

// x 
{ 
    example: { 
     say: "fdfsd" 
    } 
} 
+0

+1하지만 몇 가지 설명으로 개선하려고하므로 'OP'는 명확하게 이해할 수 있습니다. –

+1

@SheikhHeera. 완료, 감사합니다. –

+0

감사합니다. – Griff

관련 문제