2017-02-13 6 views
0

は、私はこれを行うにしようとしました:JavaScriptのAの関数またはクラス内でオブジェクトAのインスタンスを作成するにはどうすればよいですか?

function Link(a, b) { 
    Link.links = []; 
    this.a = a; 
    this.b = b; 

    Link.add = function(a,b) { 
     Link.links.push(new Link(a,b)); 
    } 
} 
コードは、私は「新しいリンクを(a、b)は、」使用しようとしていない限り、正常に動作するようです

- どのように私は新しいリンクを使用することができますリンク機能内で?

私はこの機能をクラスに変更しようとしましたが、それは同じ話です。

ありがとうございました。

+0

*「新しいリンク(a、b)」を使用しようとしない限り* - それはどういう意味ですか?あなたのコードはすでにそれを行います。コードが入っている関数は呼び出されませんが、定義した関数は呼び出されません。あなたは[mcve] – Quentin

+0

を提供する必要があります。それは、書かれたコードがどうにか動作しないことを意味します。 しかし、「新しいリンク(a、b)」を削除して文字列などに置き換えても機能します。 – sevku

+0

'LInk'を' this'で置き換え、常に 'new'を使用してください。 – charlietfl

答えて

0

問題は、Link関数が呼び出されるたびにLink.linksプロパティが空の配列に設定されることです。

+0

あなたがそこで達成しようとしているものははっきりとはっきりしませんが、これはおそらくあなたのために働くでしょう。' 'function Link(a、b){ this.a = this.b = b; } Link.prototype.links = []; Link.prototype.add = function(a、b){ \t Link.prototype.links.push(新しいリンク(a、b)); } ' – undefinederror

関連する問題