Объекты в функциях

Объекты в функциях

Здравствуйте! Надо сказать что в объекте( о том что такое объект читайте здесь) могут также  передаваться функции.  Так вот функции могут в свою очередь возвращать  также сложные объекты.

Обїекты в функциях

Давайте для примера  вынесем создание  объекта user в функцию:

function createUser(name, age) {
    return {
        name: name,
        age: age,
        display: function() {
            document.write("Имя: " + this.name + " возраст: " + this.age + "<br/>");
        }
    };
};
var tommy = createUser("Tommy", 27);
tommy.displayInfo();
var alica = createUser("Alica", 27);
alica.displayInfo();

В примере в функцию createUser() передаются значения name и age и по ним получается новый объект, который и будет являться возвращаемым результатом.

Преимуществом такого подхода является то что можно создавать несколько однотипных объектов с разными параметрами ну и конечно сам объект может передаваться в качестве параметра в функцию.

function createUser(name, age) {
    return {
        name: name,
        age: age,
        display: function() {
            document.write("Имя: " + this.name + " возраст: " + this.age + "<br/>");
        },
        drive: function(car){
            document.write(this.name + " ведет машину " + car.name + "<br/>");
        }
    };
};

function createCar(name, year){
    return{
        name: name,
        year: year
    };
};
var tommy = createUser("Томmy", 24);
tommy.display();
var ben = createCar("Бентли", 2003);
tommy.drive(ben);

Просмотреть  пример

В примере используются 2 функции для создания пользователей и объекта машины. Методу drive() объекта user в качестве параметра передается объект car.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Плюсануть
Поделиться
Читайте также  Объекты: как передать значение по ссылке

Об авторе

admin administrator

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: