2016-09-11 5 views
4

iに1がなぜarray [length]がリストの最初の要素を返すのですか?

array.length

又は

array["length"]

これ

array[length]

ような引用符を省略することを用いて、いずれかの配列の長さを返すことができる知っています全身を返します配列のst要素 これは実際のコードです: var list = [5、7、10];コンソールリストで[長さ]が5を返し、iframeまたはフレームがウィンドウにないので、window.lengthまたはlengthはコンソールで0を返します。

+4

おめでとうございます、あなたは 'window'オブジェクトのグローバルな' length'プロパティを発見しました。 –

+0

ウィンドウは長さのプロパティを持っており、ウィンドウの長さ(ブラウザのタブと呼ぶ)に依存し、異なる番号を返します。ページのフレーム数(たぶんiframe)ですが、あなたのケースでは、0を返す – M98

答えて

4

window.lengthを使用しています。

ウィンドウ内のフレーム数(<frame>またはのいずれか)を返します。

var array = [21, 22]; 
 

 
console.log(length); 
 
console.log(window.length); 
 
console.log(array[length]);
<iframe></iframe>

+0

最後のステートメントconsole.log(array [length])と同じシナリオです。しかし、あなたは私が使用していないwindow.lengthを使用していると言っています – Hassan

+0

ここに私のコードです:var list = [5、7、10];コンソールに次のように入力します:list [length]; @Hassan 5 – Hassan

+0

を返す、iframeとの違いを今すぐ見てください。 'length'の両方の値が1になりました。 –

2

長さは、それが存在する場合、最初の要素を返す0の数値に等しいです。

閲覧コンテキスト(ドキュメント)があり、他のコンテキストがないので数値0です。

存在する可能性のあるnodejs、NW.jsなどの他の環境を認識し、ブラウザのコンテキストと異なる場合があります。

関連する問題