2014-11-04 2 views
1

Pet 코드입니다 : 아래 JS 객체, 무슨 일이 일어나고 있는지의 설명이 필요 왜

function Pet() { 
    this.vitals = new Vitals(); 
} 

function Vitals() { 
    this.hunger = 5; 
    this.thirst = 0; 
    this.emotions = { 
     happy: true, 
     sad: true 
    } 
} 

등등 호출하고있다가 :

console results

숨어 estion :happyfalse은 왜 두 번째 판독 값이 아닌 두 판독 값입니까?

+2

[Chrome의 JavaScript 콘솔이 배열 평가에 지장이 있습니까?] (http://stackoverflow.com/q/4057440/218196) –

답변

1

아마도 console.log은 기본 개체 참조가 나중에 업데이트되면 이미 인쇄 된 데이터를 업데이트 할 수 있기 때문일 수 있습니다. 트릭을 보려면 pet2이라는 또 다른 참조를 만들어보십시오.

그런데 thisthis을 확인해야합니다.

+1

흥미 롭습니다. 누군가는 그 링크에서 문자열을 사용하는 것을 제안했고 그것은 현재의 상태가 아니라 실행 상태를 포착하는 것처럼 보이므로 링크가 도움이되었습니다. :) – Matt

+0

사실, 주제가 재미 있습니다 :) – Mik378

관련 문제