2016-07-28 12 views
0

MDNによれば、for ... inステートメントは、オブジェクトに関連するすべてのプロパティ(および値)にアクセスできます。なぜfor ... in文がメソッドとプロパティの両方を返すのですか?

私の方法はまた、この文で列挙されている理由はわからないです:私はdocumentオブジェクト上のループ、私はそれに関連するプロパティのリストが、そのような(プロンプト)やフォーカスなども方法だけでなく、取得する場合()

for ... inループに関連するすべてのドキュメントで、これらのメソッドが「プロパティ」として指定されているのはなぜですか?

+4

メソッドはプロパティであるため? –

+0

javascriptではオブジェクトは 'name:value'ペアの集合で、' value'は関数であるため、メソッドを取得する方法です。私は 'for ... in'は' document'のようなものに使われることを意図していないと思います。 – Dellirium

+3

@GerardoFurtadoより良い質問は、なぜ 'prompt'と' focus'が列挙可能なのですか? –

答えて

2

メソッドもプロパティであるため、タイプはfunctionです。

自分自身を参照してください:

for (var prop in document) { 
    console.log("document." + prop + " = " + document[prop], typeof(document[prop])); 
} 
関連する問題