Полный цикл в digital

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

Функции могут возвращать значения. Но эти значения не обязательно должны представлять примитивные данные - числа, строки, но также могут быть сложными объектами.

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

function createUser(pName, pAge) {
return {
name: pName,
age: pAge,
displayInfo: function() {
document.write("Имя: " + this.name + " возраст: " + this.age + "<br/>");
}
};
};
var tom = createUser("Tom", 26);
tom.displayInfo();
var alice = createUser("Alice", 24);
alice.displayInfo();

Здесь функция createUser() получает значения pName и pAge и по ним создает новый объект, который является возвращаемым результатом. Преимуществом вынесения создания объекта в функцию является то, что далее мы можем создать несколько однотипных объектов с разными значениями.

Кроме того объект может передаваться в качестве параметра в функцию:

function createUser(pName, pAge) {
return {
name: pName,
age: pAge,
displayInfo: function() {
document.write("Имя: " + this.name + " возраст: " + this.age + "<br/>");
},
driveCar: function(car){
document.write(this.name + " ведет машину " + car.name + "<br/>");
}
};
};
function createCar(mName, mYear){
return{
name: mName,
year: mYear
};
};
var tom = createUser("Том", 26);
tom.displayInfo();
var bently = createCar("Бентли", 2004);
tom.driveCar(bently);

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

В итоге браузер нам выведет:

Имя: Том возраст: 26
Том ведет машину Бентли
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг