2017-02-13 29 views
0

Я пытался сделать это:Как создать экземпляр объекта A внутри функции или класса A в JavaScript?

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

    Link.add = function(a,b) { 
     Link.links.push(new Link(a,b)); 
    } 
} 

код, кажется, работает хорошо, до тех пор, пока я не пытаюсь использовать «новую ссылку (а, б)» - как я могу использовать новую ссылку в функции Link?

Я попытался изменить функцию в класс, и это та же история.

Большое спасибо за помощь.

+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 = a; this.b = b; } Link.prototype.links = []; Link.prototype.add = function (a, b) { \t Link.prototype.links.push (новая ссылка (a, b)); } ' – undefinederror

 Смежные вопросы

  • Нет связанных вопросов^_^