4
長さが配列の角カッコ表記で渡される場合。最初の要素を返します。ここでの基礎となる論理は何ですか?javascriptの配列とオブジェクト
var foo= [];
foo['0'] = 'hello';
foo[2] = {'fun': true};
foo[length];
長さが配列の角カッコ表記で渡される場合。最初の要素を返します。ここでの基礎となる論理は何ですか?javascriptの配列とオブジェクト
var foo= [];
foo['0'] = 'hello';
foo[2] = {'fun': true};
foo[length];
ブラウザでそのコードを実行している場合(グローバルオブジェクトである)window
オブジェクトが持っている子のブラウジングコンテキスト(アイフレームと、このような)の数であるlength
propertyを、持っているので、それはです。何もない場合は0
です(多くの場合そうです)。 window
オブジェクトのプロパティはすべてグローバルなので、length
はlength
にあり、window
になるので、foo[length]
はfoo[0]
であり、"hello"
です。
そのlength
は、お客様のfoo
アレイとは関係ありません。 foo
配列の長さはfoo.length
です。最終行で使用した場合、foo.length
は3
となり、配列にはfoo[3]
というエントリがないため、undefined
が得られます。
ブラウザウィンドウのグローバルコンテキストで 'foo [length]'は 'foo [window.length]'と同じです。ドキュメントによると、 'window.length'はウィンドウ内のフレーム数(または