>  기사  >  웹 프론트엔드  >  자바스크립트 시뮬레이션 enumeration_javascript 기술의 간단한 예

자바스크립트 시뮬레이션 enumeration_javascript 기술의 간단한 예

WBOY
WBOY원래의
2016-05-16 16:56:421340검색

다음과 같이 Week 열거를 정의합니다.

코드 복사 코드는 다음과 같습니다.

if(typeof WeekDay == "정의되지 않음"){

var WeekDay = {};

주요일.일요일 = 0;

주요일.월요일 = 1;

주요일.화요일 = 2;

WeekDay.Wedesay = 3;

주요일.목요일 = 4;

주요일.금요일 = 5;

주중.토요일 = 6;

}


테스트는 다음과 같습니다.
alert(WeekDay.Monday) // -----> 물론 더 직관적인 방법이 있습니다. 예를 들어 DOM 문서 노드 유형을 정의해 보겠습니다. 정의는 다음과 같습니다.


코드를 복사합니다. 코드는 다음과 같습니다.
if(노드 유형 == "정의되지 않음"){
var 노드 = {

ELEMENT_NODE: 1,

ATTRIBUTE_NODE: 2,

TEXT_NODE: 3,

CDATA_SECTION_NODE: 4,

ENTITY_REFERENCE_NODE: 5,

ENTITY_NODE: 6,

PROCESSING_INSTRUCTION_NODE: 7,

COMMENT_NODE: 8,

DOCUMENT_NODE: 9,

DOCUMENT_TYPE_NODE: 10,

DOCUMENT_FRAGEMENT_NODE: 11,

NOTATION_NODE: 12

}

}

테스트 방법은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
alert(document.nodeType == Node.DOCUMENT_NODE); // -----> 위의 노드 정의는 IE DOM 노드 유형 상수가 지원되지 않음(다른 모든 주류 브라우저는 이를 지원함)에 대한 수정으로 사용될 수 있습니다.

C 계열 언어와 마찬가지로 위 두 예의 열거형에 해당하는 속성 값은 모두 정수입니다. 다른 유형으로 정의할 수 있을까?라고 생각할 수도 있습니다. 이 질문에 대답하려면 먼저 열거형 구현의 원리를 알아야 합니다. 앞서 언급했듯이 이는 JSON을 사용하여 구현되며 JSON은 모든 유형의 값을 사용할 수 있습니다! 따라서 JS의 열거형은 모든 유형의 값이 될 수 있습니다. 다음은 String 유형을 예로 들어 설명합니다.


코드 복사

코드는 다음과 같습니다. if(typeof Color = = "정의되지 않음"){
var 색상 = {

색상1: '빨간색',

색상2: '녹색',

색상3: '흰색',

Color4: 'black'

}

}


테스트는 다음과 같습니다.
alert(Color.Color1) // -----> 출력: 빨간색

다음과 같이 더 복잡한 유형으로 PersonList 열거를 정의합니다.


코드 복사

코드는 다음과 같습니다. if(PersonList 유형 == "정의되지 않음"){
var PersonList = {

장산: {

ID: 1,

이름: '장산',

성별: '남자'

},

리시: {

ID: 2,

이름: '리시',

성별: '여성'

},

자오우: {

ID: 3,

이름: '자오우',

성별: '남자'

}

}

}


테스트 결과는 다음과 같습니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.