2011-02-11 8 views
0

私はDOMについて愚かなことについて疑問に思っています。標準では、ポストフィックスListでNodeListを定義しているため、childNodesgetElementsByTagNameのようないくつかのプロパティや関数を持っている間に配列はクリアされ、ポストフィックス文字sが使用されます。なぜ命名:NodeList対childNodes

標準が同じ目的のために(配列を記述するために)異なる接尾辞を持つメンバーを定義すると、矛盾することがわかります。

編集:実際には、NodeListも配列ではないようです。これはこれを説明していますか?

+0

どちらの関数も配列を返しません(NodeListインスタンスを返します)。おそらく、NodeクラスとNodesクラスを持つと混乱する可能性があるため、あいまいさを解消するためにNodeListを選択したのでしょうか? – ircmaxell

+0

彼らは 'ListOfNodes'と呼ぶことができました。それには 's'という接尾辞が付きます。しかし、 'NodeList'は短く、より良く聞こえます。 –

答えて

1

NodeListはインターフェイスです。

childNodesは、Nodeインターフェイスのメンバーです。
getElementsByTagNameは、Documentインターフェイスのメンバーです。

ところで、これらのメンバーは両方ともタイプNodeListの値を返します。

したがって、1つはインターフェイスであり、他の2つはインターフェイスのメンバーです。

+0

だから、彼らはListの単語と、sという文字のメンバとのインターフェイスに名前をつけていると言っていますか? – Tower

+0

@rFactor afaik、NodeListは "List"で終わる唯一のインターフェイスです。 NodeListとNamedNodeMapはコレクションを表す唯一のインタフェースです(他のすべてのインタフェースは個々のオブジェクトを表します)。私の推測では、 "NodeList"という名前は便宜上選択されたものです。ListOfNodesを使って同じことができました。 –