ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptの配列の3つの属性コード例を詳しく解説
JavaScript 配列オブジェクトの 3 つの属性
1. 長さ属性
長さ属性は、配列の長さ、つまり配列内の要素の数を表します。配列のインデックスは常に 0 から始まるため、配列の上限と下限はそれぞれ 0 と length-1 になります。他のほとんどの言語とは異なり、JavaScript 配列の長さプロパティは可変であるため、特別な注意が必要です。 length 属性がより大きく設定されても、実際には配列全体の状態は変化しません。length 属性が元の値よりも小さく設定されている場合、元の配列内の要素のインデックスがそれ以上になるだけです。長さはすべての値が失われます。以下は、長さ属性の変更を示す例です:
var arr=[12,23,5,3,25,98,76,54,56,76]; //定义了一个包含10个数字的数组 alert(arr.length); //显示数组的长度10 arr.length=12; //增大数组的长度 alert(arr.length); //显示数组的长度已经变为12 alert(arr[8]); //显示第9个元素的值,为56 arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃 alert(arr[8]); //显示第9个元素已经变为"undefined" arr.length=10; //将数组长度恢复为10 alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"
上記のコードから、長さ属性の性質を明確に見ることができます。ただし、長さオブジェクトは明示的に設定できるだけでなく、暗黙的に変更することもできます。同様に、JavaScript で未定義の変数を使用することもできます (長さ以上のインデックスを持つ要素を参照します)。この場合、length 属性の値は に設定されます。使用される要素インデックスの値に 1 を加えます。たとえば、次のコード:
var arr=[12,23,5,3,25,98,76,54,56,76]; alert(arr.length); arr[15]=34; alert(arr.length);
このコードでは、10 個の数値を含む配列も定義されています。アラート ステートメントから、その長さが 10 であることがわかります。次に、インデックス 15 の要素が使用され、値 15、つまり arr[15]=34 が割り当てられます。このとき、alert ステートメントは配列の長さを出力するために使用され、結果は 16 になります。いずれにしても、これは、厳密に型指定されたプログラミングに慣れている開発者にとっては驚くべき機能です。実際、 new Array() 形式を使用して作成された配列の初期の長さは 0 です。配列の長さが変化するのは、未定義の要素の操作です。
上記の紹介からわかるように、length 属性は非常に魔法のようなもので、これを使用すると配列の容量を簡単に増減できます。したがって、長さ属性を深く理解すると、開発プロセス中に長さ属性を柔軟に使用するのに役立ちます。
2. プロトタイプ属性
は、オブジェクト型のプロトタイプへの参照を返します。プロトタイププロパティはオブジェクトに共通です。
objectName.prototype
objectName パラメーターは、オブジェクト オブジェクトの名前です。
説明: プロトタイプ属性を使用して、オブジェクトのクラスの基本関数のセットを提供します。 オブジェクトの新しいインスタンスは、オブジェクトのプロトタイプに割り当てられた操作を「継承」します。
配列オブジェクトの場合、次の例は、prototype 属性の使用法を示しています。
配列オブジェクトにメソッドを追加して、配列内の最大要素値を返します。これを実現するには、関数を宣言し、それを Array.prototype に追加して使用します。
function array_max( ) { var i, max = this[0]; for (i = 1; i < this.length; i++) { if (max < this[i]) max = this[i]; } return max; } Array.prototype.max = array_max; var x = new Array(1, 2, 3, 4, 5, 6); var y = x.max( );
このコードが実行されると、y は配列 x の最大値、つまり 6 を保持します。
3. コンストラクター属性
は、オブジェクトを作成する関数を表します。
object.constructor //object はオブジェクトまたは関数の名前です。
説明: コンストラクター プロパティは、プロトタイプを持つすべてのオブジェクトのメンバーです。これらには、Global オブジェクトと Math オブジェクトを除くすべての JScript ネイティブ オブジェクトが含まれます。コンストラクター プロパティは、特定のオブジェクト インスタンスを構築する関数への参照を保持します。
例:
x = new String("Hi"); if (x.constructor == String) // 进行处理(条件为真)
または
function MyFunc { // 函数体。 } y = new MyFunc; if (y.constructor == MyFunc) // 进行处理(条件为真)
以上がJavaScriptの配列の3つの属性コード例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。