«Единственный способ творить великие дела – это любить то, что ты делаешь»
JavaScript
site.komp36.ru Создание сайтов. Твой сайт фотографа Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Продающий лендинг «Установка и продажа окон» Установка и продажа окон, установка дверей, перегородок. Одностраничный продающий сайт. Заявки прямо с сайта
site.komp36.ru Универсальный лендинг. Любая тема сайта - 4900 руб. Лендинг адаптируется под любую тему: ремонт, отделка, продажа окон, дверей, лестниц, мебели и многое другое
site.komp36.ru Создание сайтов. Сайт сервисного центра. Сайт компании. Новости и отзывы. Несколько прайс-листов – под каждый отдельная страница. Возможность размещения статей


Игра «Морской Бой» на JavaScript: Простая Игра и Игра для Двоих



Здесь будет решена практическая задача по работе с объектами в Javascript. Будут задействованы функции и условия if else.

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

Что нужно знать из теории для работы с объектами?

1. Полезно будет ознакомиться с темой: создание объекта.

2. Дополнительно можно ознакомиться с темами: объект String, объект Number и объект Date.

Условие задачи:

1. Есть три объекта (три автомобиля): first_Car, second_Car и third_Car.

2. Каждый из объектов (автомобилей) имеет набор свойств и соответствующих им значений (характеристики автомобиля).

3. Рассмотрим один из объектов:

var first_Car = {
make:
"VAZ", /* производитель */
model:
2106, /* модель */
year:
1980, /* год выпуска */
color:
"beige", /* цвет */
passengers:
5, /* число пассажиров */
convertible:
false, /* откидной верх */
mileage:
80000 /* пробег */
}

- свойства make и color имеют строковые значения;

- свойства model, year, passengers и mileage - числовые значения;

- свойство convertible принимает булево значение.

Нужно сделать следующее:

Написать функцию, которая проверяет автомобиль по двум параметрам (год выпуска и пробег) и возвращает булево значение true или false.

Подробности:

1. Функция имеет один параметр car, в качестве которого получает один из 3-х объектов. Например, выше рассмотренный автомобиль first_Car.

2. Функция должна работать с любым подобным объектом.



Функция для проверки объекта - true или false

Фрагмент кода

<script type="text/javascript">

/* 1-ый объект */
var first_Car = {
make: "VAZ",
model: 2106,
year: 1980,
color: "beige",
passengers: 5,
convertible: false,
mileage: 80000
}

/* 2-ой объект */
var second_Car = {
make: "VW",
model: "Passat b3",
year: 1990,
color: "neptune",
passengers: 5,
convertible: false,
mileage: 160000
}

/* 3-ий объект */
var third_Car = {
make: "Hyundai",
model: "Solaris",
year: 2012,
color: "wet asphalt",
passengers: 5,
convertible: false,
mileage: 15000
}

/* Функция для проверки объекта */
function good_Car(car) {
if (
car.year < 2000){
return false;
}
else if (
car.mileage > 50000){
return false;
}
else{
return true;
}
}

/* Вызов функции и Вывод результата */
var result = good_Car(third_Car);

document.write(result);

</script>

Результат

Комментарии к решению:

  • Итак, есть три объекта (три автомобиля), каждый из которых можно проанализировать при помощи функции good_Car.
  • Функция good_Car имеет один параметр car, в качестве которого может выступать любой из объектов (автомобилей): first_Car, second_Car или third_Car: function good_Car(car).
  • В теле Функции good_Car составлено условие, согласно которому:

    - если значение свойства year объекта car меньше 2000 (другими словами: если год выпуска автомобиля меньше 2 000), то функция возвращает false;

    - иначе, если значение свойства mileage объекта car больше 50000 (если пробег автомобиля больше 50 000), то функция возвращает false;

    - иначе функция возвращает true.

  • Далее мы вызываем функцию и в качестве параметра указываем объект third_Car (третий автомобиль), который успешно проходит проверку. Результат работы функции заносится в переменную result:
    var result = good_Car(third_Car);.

  • Переменная result выводится на экран;

  • Два других объекта (автомобиля) не будут соответствовать требованиям условия.

Оптимизация кода

Продолжим работать с объектами в javascript.

Рассмотренная выше функция при проверке объектов (автомобилей) выдает в результате true или false (истину или ложь).

Можно немного улучшить восприятие решения рассмотренной задачи, например, вместо true или false выводить какой-либо текст. Для этого составим условие анализа результата.

Фрагмент кода

<script type="text/javascript">

/* 1-ый объект */
var first_Car = {
make: "VAZ",
model: 2106,
year: 1980,
color: "beige",
passengers: 5,
convertible: false,
mileage: 80000
}

/* 2-ой объект */
var second_Car = {
make: "VW",
model: "Passat b3",
year: 1990,
color: "neptune",
passengers: 5,
convertible: false,
mileage: 160000
}

/* 3-ий объект */
var third_Car = {
make: "Hyundai",
model: "Solaris",
year: 2012,
color: "wet asphalt",
passengers: 5,
convertible: false,
mileage: 15000
}

/* Функция для проверки объекта */
function good_Car(car) {
if (
car.year < 2000){
return false;
}
else if (
car.mileage > 50000){
return false;
}
else{
return true;
}
}

/* Вызов функции и Анализ результата */
var result = good_Car(third_Car);

if(result) {
document.write("У Вас неплохой автомобиль: " +
third_Car.year + " год выпуска, с пробегом " + third_Car.mileage + " км.");
}
else{
document.write("Не будем говорить о Вашем автомобиле....");
}

</script>

Результат

Результат

У Вас неплохой автомобиль: 2012 год выпуска, с пробегом 15000 км.

Условие для анализа результата составлено следующим образом.

  • Выражение if(result) является сокращенной формой записи выражения
    if(result == true).

  • Если результат работы функции good_Car является истинным true, то мы выводим на экран фразу: «У Вас неплохой автомобиль: 2012 год выпуска, с пробегом 15000 км.», где

    - 2012 и 15000 - это значения свойств year и mileage объекта third_Car.

  • Если же условие для проверки результата выдаст ложное значение false, то мы увидим: «Не будем говорить о Вашем автомобиле....». То есть рассматриваемый объект (автомобиль) не прошел проверку.

Оптимизация кода - Идем дальше - Добавляем функцию

Но и это еще не все. Посмотрим внимательно на фрагмент кода для вызова функции и анализа результата:

/* Вызов функции и Анализ результата */
var result = good_Car(third_Car);

if(result) {
document.write("У Вас неплохой автомобиль: " + third_Car.year + " год выпуска, с пробегом " + third_Car.mileage + " км.");
}
else{
document.write("Не будем говорить о Вашем автомобиле....");
}

Здесь объект third_Car (третий автомобиль) указывается трижды:

  • Первый раз при вызове функции good_Car он указан в качестве ее параметра: good_Car(third_Car).
  • И далее он фигурирует еще дважды, когда мы к нему обращаемся для указания его свойств: third_Car.year и third_Car.mileage.

Это не очень удобно, так как при анализе другого объекта (автомобиля) нам придется его имя также указывать трижды.

Чтобы добиться одноразового указания анализируемого объекта, нужно и результат работы функции good_Car и анализ этого результата (то есть весь этот код) занести в еще одну функцию.

Фрагмент кода

<script type="text/javascript">

/* 1-ый объект */
var first_Car = {
make: "VAZ",
model: 2106,
year: 1980,
color: "beige",
passengers: 5,
convertible: false,
mileage: 80000
}

/* 2-ой объект */
var second_Car = {
make: "VW",
model: "Passat b3",
year: 1990,
color: "neptune",
passengers: 5,
convertible: false,
mileage: 160000
}

/* 3-ий объект */
var third_Car = {
make: "Hyundai",
model: "Solaris",
year: 2012,
color: "wet asphalt",
passengers: 5,
convertible: false,
mileage: 15000
}

/* Функция для проверки объекта */
function good_Car(car) {
if (car.year < 2000){
return false;
}
else if (car.mileage > 50000){
return false;
}
else{
return true;
}
}

/* Заносим результат работы функции good_Car и Анализ результата в еще одну функцию */
function itog(car){
var result = good_Car(car);

if(result) {
document.write("У Вас неплохой автомобиль: " + car.year + " год выпуска, с пробегом " + car.mileage + " км.");
}
else{
document.write("Не будем говорить о Вашем автомобиле....");
}
}

itog(third_Car);

</script>

Результат

Решение с использованием еще одной функции

Результат

У Вас неплохой автомобиль: 2012 год выпуска, с пробегом 15000 км.

Комментарии

  • Итак, здесь этот фрагмент кода, то есть результат работы функции good_Car и анализ этого результата, были занесены в еще одну функцию
    function itog(car) с параметром car.

  • Благодаря этому любой объект (автомобиль) может быть проанализирован. И при этом его имя будет указано лишь один раз: при вызове функции itog: itog(third_Car).

На этом пока все. Это была практическая задача по работе с объектами в Javascript с использованием функций.

Читайте также...

site.komp36.ruТвой сайт фотографа. Создание сайтов Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Акция Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Акция Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта

Отзывы и комментарии:

Комментариев нет...

Оставить отзыв:

Ваше Имя:

Текст комментария:

Ответьте на вопрос:

Сколько дней в Високосном году?


Задачи по JavaScript
Тематические публикации
site.komp36.ru Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта
Популярные заметки
Последние заметки