ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript シミュレーションの簡単な例 enumeration_javascript スキル

JavaScript シミュレーションの簡単な例 enumeration_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 16:56:421383ブラウズ

次のように、Week 列挙型を定義します:

コードをコピーします コードは次のとおりです:

if(WeekDay の種類 == "未定義"){

var WeekDay = {};

平日.日曜日 = 0;

WeekDay.Monday = 1;

平日.火曜日 = 2;

WeekDay.Wedesay = 3;

平日.木曜日 = 4;

WeekDay.Friday = 5;

平日.土曜日 = 6;

}


テストは次のとおりです:
alert(WeekDay.Monday) // -----> 出力: 1

もちろん、より直感的な方法があります。例として 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) // -----> 出力: true

上記のノード定義は、IE DOM ノード タイプ定数がサポートされていないための修正として使用できます (他のすべての主流ブラウザはサポートしています)。

C 系言語と同様、上記 2 つの例の列挙型に対応する属性値はすべて整数です。これを別のタイプとして定義できるのではないかと考えているかもしれません。この質問に答えるには、まず列挙実装の原理を知る必要があります。前述したように、これは JSON を使用して実装されており、JSON では任意のタイプの値を使用できます。したがって、JS の列挙には任意のタイプの値を指定できます。以下では例として String 型を取り上げます:

コードをコピー コードは次のとおりです:

if(色の種類 = = "未定義"){

var Color = {

カラー1: '赤'、

色 2: '緑'、

カラー 3: '白'、

Color4: 'black'
}
}


テストは次のとおりです。
alert(Color.Color1) // ----->出力: 赤

次のように、より複雑な型の PersonList 列挙を定義します:

コードをコピーします コードは次のとおりです:

if(typeof PersonList == "未定義"){

var PersonList = {

チャンサン: {

ID: 1、

名前: 'ZhangSan'、

性別: '男性'

}、

リシ: {

ID: 2、

名前: 'LiSi'、

性別: '女性'

}、

趙武: {

ID: 3、

名前: 'ZhaoWu'、

性別: '男性'

}
}
}


テスト結果は次のとおりです:

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。