JavaScriptプログラム開発(十一)—js文法のデータタイプ

3074 ワード

Arayタイプ
ECMAScriptの中で、ArayはObjectに次ぐはずです.js中のArayタイプと他の言語のArayの違いは、js中の配列の各々が任意のタイプのデータを保存することができ、配列の大きさは動的に調整でき、データの増加に伴って自動的に増加し、新規データを収容することができる.
ECMAScriptは2つの配列を作成する方式があります.第一は、構造関数を使用する方法であり、以下のコードの例である.
    var arr = new Array();
このように作成された配列は、配列が保存される項目の数を予め知っていれば、構造関数にパラメータを伝達し、それぞれの項目の数を指定することもできます.このように、各項目の初期値はundefinedです.コードの例は以下の通りです.
    var arr = new Array(20);
配列をコンストラクタ方式で作成するときも、保存する各具体的な項目がわかれば、具体的な項目をコンストラクタに伝えることができます.次のコード:
    var colors = new Array("red","green","black","gray");
もう一つのポイントは、ECMAScriptでは、構造関数を使って配列を作成するときにnew操作子は省略できます.コードの例を見てください.
    var arr = Array(20);

    var colors = Array("red","green","black","gray");
この2行のコードの実際の役割は以下のコードと同じです.
    var arr = new Array(20);

    var colors = new Array("red","green","black","gray");
配列を作成する第二の方法は、配列字面量表示法を使用することである.配列の字面の量は、行列の項目を含む四角い括弧のペアによって表され、複数の配列項目の間にコンマで区切られます.
        function test(){

            var colors = ["red","gray","green","black"];

            var names = [];

            var values = [1,2,];

            var options = [,,,,,];

        }
上のコードは、配列を作成することができますが、valuesとoptionsの配列は、IEの中にbugがあります.他の主流ブラウザでfirefox、opera、safari、chromeのように、valuesとoptionsはそれぞれ2つと5つの項目を含む配列を作成します.IEはECMAScriptのこのバグを実現するために存在していますので、一般的にはこのような方式で配列を作成することは勧められません.
Objectと同様に、配列字面量表示法を使用しても、Arayを構成する構造関数を呼び出しません.firefoxは除外されます.
配列の値を読み取り、設定する場合は、大かっこを使い、0に基づく索引を提供します.配列のインデックス値は0から始まります.
<script type="text/javascript">

    var colors = ["red","green","black","gray"];

    document.write(colors[0]);

    colors[1] = "as";

    document.write(colors[1]);

</script>
括弧内のインデックス値は、アクセスする値を表しています.インデックス値が配列のエントリ数より小さい場合は、該当する値を返します.設定値も同じです.