JavaScript 고급 프로그래밍_기본 지식

WBOY
풀어 주다: 2016-05-16 19:22:02
원래의
971명이 탐색했습니다.
이전 장에서는 객체의 사용에 대해 간략하게 설명했지만 이제 자세히 소개하겠습니다. 객체는 JavaScript 실행 중에 생성되거나 파괴되며, 이 패러다임의 의미를 이해하는 것은 언어 전체를 이해하는 데 중요합니다.
3.2.1 선언 및 인스턴스화
객체는 new 키워드와 인스턴스화할 클래스 이름을 사용하여 생성됩니다.
코드의 첫 번째 줄은 Object 클래스의 인스턴스를 생성하고 이를 oObject 변수에 저장합니다. 코드의 두 번째 줄은 String 클래스의 인스턴스를 만들고 이를 oStringObject 변수에 저장합니다. 생성자에 매개변수가 없으면 괄호가 필요하지 않으므로 위의 두 줄의 코드를 다음 형식으로 다시 작성할 수 있습니다.
3.2.2 객체 참조
2장에서는 참조타입의 개념을 소개했습니다. ECMAScript에서는 객체의 물리적 표현에 접근할 수 없고 참조에만 접근할 수 있습니다. 객체가 생성될 때마다 변수에 저장되는 것은 객체 자체가 아닌 객체에 대한 참조입니다.
3.2.3 객체 파괴
ECMAScript에는 가비지 수집 프로그램이 있습니다. 즉, 메모리를 해제하기 위해 객체를 특별히 삭제할 필요가 없습니다. 개체에 대한 참조가 더 이상 없으면 개체가 역참조되었다고 합니다. 가비지 수집 프로그램을 실행하면 더 이상 사용되지 않는 모든 개체가 삭제됩니다. 함수가 코드 실행을 마칠 때마다 가비지 수집기가 실행되어 모든 지역 변수를 해제하며 기타 예측할 수 없는 상황이 발생합니다.
객체를 강제로 삭제하려면 객체에 대한 모든 참조를 null로 설정하세요. 예:
oObject 변수가 null로 설정되면 처음 생성된 개체에 대한 참조가 더 이상 존재하지 않습니다. 이는 다음에 가비지 수집기가 실행될 때 개체가 삭제된다는 것을 의미합니다.
객체를 사용한 후에는 메모리를 해제하기 위해 객체를 파괴하는 것이 좋은 습관입니다. 또한 더 이상 액세스할 수 없는 개체가 더 이상 사용되지 않도록 하여 프로그래밍 오류를 방지합니다. 또한, 이전 브라우저(예: IE/Mac)에는 포괄적인 가비지 수집 절차가 없으므로 페이지가 언로드될 때 개체가 올바르게 삭제되지 않을 수 있습니다. 객체와 그 모든 속성을 파괴하는 것은 올바른 메모리 사용을 보장하는 가장 좋은 방법입니다.
객체에 대한 모든 참조를 삭제할 때는 주의하세요. 객체에 두 개 이상의 참조가 있는 경우 객체를 올바르게 삭제하려면 모든 참조를 null으로 설정해야 합니다.
3.2.4 초기 바인딩과 후기 바인딩
소위 바인딩이란 객체의 인터페이스와 객체 인스턴스를 결합하는 방법입니다.
조기 바인딩이란 객체를 인스턴스화하기 전에 객체의 속성과 메서드를 정의하여 컴파일러나 인터프리터가 기계어 코드를 미리 변환할 수 있도록 하는 것을 말합니다. Java 및 Visual Basic과 같은 언어에서는 초기 바인딩을 통해 개발 환경에서 IntelliSense(개발자에게 개체의 속성 및 메서드 목록을 제공하는 기능)를 사용할 수 있습니다. ECMAScript는 강력한 형식의 언어가 아니므로 초기 바인딩을 지원하지 않습니다.
반면, 지연 바인딩은 컴파일러나 인터프리터가 개체를 실행하기 전에 개체의 유형을 알 수 없음을 의미합니다. 후기 바인딩을 사용하면 개체 유형을 확인할 필요가 없으며 개체가 속성과 메서드를 지원하는지 여부만 확인할 수 있습니다. ECMAScript의 모든 변수는 지연 바인딩을 사용하므로 많은 수의 객체 작업을 페널티 없이 수행할 수 있습니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿