2012-01-07 3 views
1

は、この設定を考えてみましょプロトタイプなどの要素を持っているonbjectをDOMに追加することはできませんか?オブジェクトbは、プロトタイプとして有効な要素を持っています。それは働いてはいけませんか?

+0

ブラウザはJavaScriptでDOMへのインタフェースを提供しますが、DOM *は* JavaScriptではありません。 –

答えて

4

ここにいくつかの問題があります。

最初にmakeObj()は新しいオブジェクトを作成していません。これは単なる関数呼び出しであり、thisという関数呼び出しはwindowオブジェクトを参照している可能性があります。実際に新しいjavascriptオブジェクトを作成するには、new演算子を使用してmakeObj()を使用する必要があります。

第2に、通常のjavascriptオブジェクトではなく、DOMオブジェクトのみをDOMに追加できます。

第3に、DOMオブジェクトを別のオブジェクトのプロトタイプに割り当てるだけで、他のオブジェクトが突然DOMオブジェクトになることはありません。 DOMオブジェクトが必要な場合は、createElement()などのDOMオブジェクトを作成するか、その他の文書化された方法でDOMオブジェクトを作成する必要があります。

あなたが実際に達成しようとしていることについてもっと詳しく説明できる場合は、さらに助言することができます。

+0

それは 'new'で呼び出されたとしても、' this.prototype = a; 'は' this'を 'a'から継承しません。 –