Javascriptがネストされたオブジェクトのインスタンス
function OB(a){
this.a;
function Node(b){
this.b = b;
}
}
var a = new OB("test");
var b = new Node("test2");
私は何をしたいことはOBの外に新しいノードを作るためにしていることを確認します。しかし、私はエラーが発生します。回避策は、OBコンストラクタをOBから分離することですが、後で "Node"を別の場所で使用したい場合は、名前の競合が発生する可能性があります。
エラーはどのようなものですか?また、あなたは 'add'メソッドを呼び出す文/コンテキストとは何ですか? 'this.a'と' this.b'はどうするのですか?あなたがそこに置くように、彼らはただ何もしない表現です。彼らは 'a'または' b'プロパティを作成しません。 – trincot
私は少し問題を単純化しました。私が得るエラーは、 "Uncaught TypeError:不正なコンストラクタ"です。 –
これは簡単です:これを行わないでください。グローバルな 'Node'を望んでいないのであれば(そのように呼びますが)、関数内ではなく名前空間オブジェクトに置いてください。 – Bergi