2012-09-22 6 views
1

자바 스크립트 객체이해 자바 스크립트 런타임

var planet = { 
    id: 1001, 
    Name: "Mars", 
    faction: { 
     factionId: 2, 
     notification: function() { 
      document.write("Mars notified"); 
     } 
    }, 
    cities: [ 
     { locationId: 15, name: "Gladius" }, 
     { city: "MyPlanet", geo: "universal" } 
    ] 
} 

다음 고려하십시오.

enter image description here

는 자바 스크립트 런타임 엔진의 이러한 부분, 다른 브라우저는 다르게 처리합니까?

답변

3

모든 자바 스크립트에는 (EcmaScript §4.2.1) 상속받은 프로토 타입 객체가 있습니다. 이것을 보통 "내부 [[prototype]] 속성"(EcmaScript §8.6.2)이라고합니다. FF와 Chrome은 비표준 (및 비추천) __proto__ property이 구현에 따라 다르기 때문에 공개합니다.

표시되는 추가 등록 정보는 모두 Object.prototype (EcmaScript §15.2.4, MDN)이며 일반 개체와 개체 리터럴이 상속합니다. 다시 두 배 밑줄 속성은 구현에 따라 다르며 이제는 속성 설명자에 의해 사용되지 않습니다 (Object.defineProperty at MDN 참조).

+0

+1이지만 __proto__는 이미 사용되지 않습니다. – RobG

+0

@RobG : 할당 할 대체물이 없지만 참 – Bergi