2015-03-27 3 views
0

Я работаю над упражнением объекта Javascript. Моя продукция не такая, как я ожидал. Пожалуйста, взгляните на мой код и дайте совет. Вот код:Метод функции в объекте в Javascript

function myFunction(name) { 
    this.name = name; 
    this.models = new Array(); 
    this.add = function (brand){ 
    this.models = brand; 
    }; 
} 
var c = new myFunction ("pc"); 
c.add("HP"); 
c.add("DELL"); 
console.log(c.models); 

Выход "DELL"

Мой ожидается выход ["HP","DELL"]

Большое вам спасибо за вашу помощь!

+2

кратна версия аргумент:. 'This.add = [] push.bind (this.models);' – dandavis

ответ

3

Измените функцию добавления. Вы хотите подтолкнуть бренд к модели. Не устанавливайте модель.

this.add = function (brand){ 
    this.models.push(brand); 
}; 
+0

спасибо, сэр, он работал – BBKay

1

Чтобы добавить что-то в массив, вы должны использовать метод .push().

Изменить код:

function myFunction(name) { 
    this.name = name; 
    this.models = new Array(); 
    this.add = function (brand){ 
    this.models.push(brand); 
    }; 
} 

P.S. Обычно принято называть такой тип конструктора, начинающийся с заглавной буквы.

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