>웹 프론트엔드 >JS 튜토리얼 >JS의 다양한 객체 관계

JS의 다양한 객체 관계

不言
不言원래의
2018-04-10 14:20:441419검색


그림을 통해 다양한 유형의 JavaScript 간의 관계를 이해할 수 있습니다.

이 그림은 "JavaScript 언어 및 프로그래밍 실습의 본질" 3장 184페이지에 나오는 것입니다. 최근 2판을 개정하고 있는데, 이 그림은 필요하시면 참고하시면 됩니다.

또한 그림에 사용된 개념을 추가하세요.

1. 내장 객체와 네이티브(Naitve) 객체의 차이점은 전자는 항상 엔진 초기화 단계에서 생성된다는 것입니다. 생성된 객체는 후자의 하위 집합입니다. 후자에는 런타임 중에 동적으로 생성되는 일부 객체가 포함됩니다.

  2. 엔진 확장 개체는 너무 크지 않은 컬렉션입니다. 일반적으로 말해서, 엔진의 기본 개체이기도 한 것이 비교적 확실합니다(ECMA 사양의 기본 개체는 아닙니다).

   3. 호스트 개체는 엔진의 기본 개체가 아니라 호스트 프레임워크에서 일부 메커니즘을 통해 JavaScript 엔진에 등록한 개체입니다.

  4. 일부 호스트는 인터넷과 같이 자신이 제공하는 개체/생성자를 "네이티브 개체"라고 부르기도 합니다. Explorer 7은 이전 버전의 "new ActiveXObject('Microsoft.XMLHTTP')"와 같은 메서드를 통해 생성된 개체와 달리 기본적으로 제공하는 XMLHttpRequest()를 호출합니다. 이 경우 독자는 "호스트의 기본 개체"와 "엔진의 기본 개체" 간의 차이점에 유의해야 합니다.

재인쇄: http://www.w3cfuns.com/thread-5594427-1-1.html

JavaScript 로컬 객체, 내장 객체, 호스트 객체


로컬 객체(NEW 필요) )

ECMA-262는 네이티브 객체를 "호스트 환경과 독립적인 ECMAScript 구현에 의해 제공되는 객체"로 정의합니다.

Object, Function, Array, String, Boolean, Number, Date, RegExp, Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError, ActiveXObject(서버), Enumerator(컬렉션 순회 클래스), RegExp(정규식)

간단히 말하면 로컬 객체는 ECMA-262에서 정의한 클래스(참조 유형)임을 알 수 있습니다.


내장 객체(NEW 직접 참조 없음 - MATH GLOBAL만 해당)

ECMA-262는 내장 객체를 "호스트 환경과 독립적인 ECMAScript 구현에서 제공하는 모든 객체로 정의합니다. ECMAScript 프로그램이 실행되기 시작합니다." 이는 개발자가 내장 개체를 명시적으로 인스턴스화할 필요가 없으며 이미 인스턴스화되었음을 의미합니다.

또한 "호스트 환경에 독립적"입니다. 정의에 따르면 "내장 개체"와 "로컬 개체"의 차이를 구별하는 것은 어려운 것 같습니다. ECMA-262는 Global과 Math라는 두 가지 내장 개체만 정의합니다(이 둘은 로컬 개체이기도 하며 정의에 따라 모든 내장 개체는 로컬 개체입니다).

그러니까 이해하시면 됩니다. 내장 객체는 일종의 로컬 객체입니다. 포함된 두 객체 중 Math 객체를 자주 사용하는데, 이 Global 객체는 무엇일까요?

Global 객체는 실제로 전혀 존재하지 않기 때문에 ECMAScript에서 가장 특별한 객체입니다! ECMAScript에는 독립적인 함수가 없으며 모든 함수는 객체의 메서드여야 합니다.

isNaN(),parseInt()및parseFloat() 메서드와 유사하며 모두 함수처럼 보이지만 실제로는 모두 Global 개체의 메서드입니다. 그리고 Global 개체의 메서드는 여기서 끝나지 않습니다. Global 개체의 특정 메서드와 속성에 대해 관심 있는 학생들은 여기에서 살펴볼 수 있습니다: JavaScript 전역 개체 참조 매뉴얼

호스트 개체(BOM DOM 및 사용자 정의 개체)

"호스트 개체"란 무엇입니까? ECMAScript의 "호스트"는 물론 웹 페이지의 실행 환경, 즉 "운영 체제"와 "브라우저"입니다. 모든 비네이티브 객체는 호스트 객체, 즉 ECMAScript 구현의 호스트 환경에서 제공되는 객체입니다.

모든 BOM 및 DOM 개체는 호스트 개체입니다. 다른 "호스트" 환경에 대해 다른 내용을 표시하기 때문입니다. 사실 직설적으로 말하면 ECMAScript에서 공식적으로 정의하지 않은 객체는 호스트 객체에 속합니다. 정의되지 않은 객체의 대부분은 ECMAScript 프로그램에서 생성된 객체이기 때문입니다. TML DOM은 W3C 표준(HTML Document Object Model, Document Object Model for HTML의 약어)입니다.

HTML DOM은 HTML용 표준 개체 집합과 HTML 문서 액세스 및 처리를 위한 표준 방법을 정의합니다.

DOM을 통해 모든 HTML 요소와 해당 요소에 포함된 텍스트 및 속성에 액세스할 수 있습니다. 컨텐츠는 수정 및 삭제가 가능하며, 새로운 요소를 생성할 수도 있습니다.

DHTML DOM은 플랫폼과 프로그래밍 언어에 독립적입니다. Java, JavaScript, VBScript 등 모든 프로그래밍 언어에서 사용할 수 있습니다.

JavaScript를 사용하여 DOM 개체에 액세스하고 조작하는 방법에 대한 자세한 내용을 보려면 아래 링크를 클릭하세요.

DOM 개체:

문서는 전체 HTML 문서를 나타내며 페이지의 모든 요소에 액세스하는 데 사용됩니다. 앵커대표 요소입니다. Area는 이미지 맵의 요소를 나타냅니다. 베이스는 <기본> 요소입니다. Body는 이미지 맵의 요소를 나타냅니다. 버튼은 다음을 나타냅니다. 요소. Event는 이벤트의 상태를 나타내고 Form은

요소 Frame은 을 나타냅니다. 요소 Iframe은