Опубликован: 05.08.2010 | Уровень: для всех | Доступ: платный
Лекция 8:

Математические функции, работа с датой и временем, массивы, ООП в JavaScript

< Лекция 7 || Лекция 8: 12 || Лекция 9 >
Аннотация: Лекция посвящена работе с математическими функциями, датой и временем, рассматриваются вопросы, связанные с массивами. Лекция знакомит слушателей с созданием объектов в JavaScript.

Дополнительные файлы к лекции находятся в . Презентацию к данной лекции Вы можете скачать здесь.

Функции

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

function имя функции(входные параметры) {тело функции}

При вызове функции указывается ее имя, подставляются фактические параметры:

имя функции (фактические параметры)

Различают встроенные и пользовательские функции. Функции могут быть с входными параметрами и без таковых. Функции могут возвращать значения, а могут и не возвращать. В этом случае они похожи на подпрограммы в Visual Basic.

Встроенные функции

Сюда можно отнести функции работы с датой и временем, математические и некоторые другие функции.

Начнем с функций, предназначенных для работы с датой и временем. В предлагаемом примере мы использовали такие функции, как getYear, getMonth.

var myDate, Year, Month, str;
    myDate = new Date;
    Year=myDate.getYear();
Month = myDate.getMonth(this) + 1; //Январь - нулевой месяц
    str = "Сегодня " + myDate + "<br/>";
    str += Month + "-й месяц " + Year + "-го года"
    document.write(str);

Рис. 9.1.

Как видно из листинга, встроенная функция getYear() не содержит входных параметров.

К встроенным функциям относятся также математические функции. В приведенном ниже примере мы найдем минимальное из пяти чисел, используя математическую функцию min.

var a1, a2, a3, a4, a5, b1, b2, b3, b4, str;

a1 = 3;
a2 = 5;
a3 = -8;
a4 = 16;
a5 = 32;

b1 = Math.min(a1, a2);
b2 = Math.min(a3, a4);
b3 = Math.min(b1, b2);
b4 = Math.min(b3, a5);
str = "Наименьшее из пяти чисел: " + b4;

document.write(str);

Рис. 9.2.

Приведем пример функции, не возвращающей значения. Функция sentense() выводит на экран афоризм Козьмы Пруткова.

function sentense() {
    var phrase;
    phrase = "Смотри в корень!";
    document.write(phrase);
}
sentense();

Рис. 9.3.

Рассмотрим функции, возвращающие значения. В предлагаемом примере функция getRandomString генерирует n случайных чисел в диапазоне от 0 до maxvalue.

function getRandomString(n, maxvalue) {
        var i, str;
        str = "<br/>"
        for (i = 0; i < n; i++) {
    str += Math.round(Math.random() * maxvalue) + "<br/>";
        }
        return str
}
var n, maxvalue, str;
n = 10;
maxvalue = 100;
str = getRandomString(n, maxvalue);
document.write(str);

Рис. 9.4.

Массивы

Массивом называется переменная, содержащая данные одного типа. Различают статические и динамические, одномерные и многомерные массивы. Массивы создаются с помощью объекта Array().

Статические массивы

При работе со статическими массивами заранее задается количество элементов. Объявление массива осуществляется следующим образом:

Имя массива= new Array(количество элементов массива)

Затем происходит процедура инициализации массива, когда элементам массива присваиваются значения.

В предлагаемом ниже примере создается статический массив River, содержащий n элементов. Затем происходит процедура инициализации. Далее заполняется строка str, содержащая элементы массива, разделенные тэгом разрыва строки.

var n, i, str;
n = 5;
River = new Array(n);
River[0] = "Амазонка";
River[1] = "Парана";
River[2] = "Нил";
River[3] = "Миссисипи";
River[4] = "Ориноко";

str = "<br/>";

for (i = 0; i < n; i++) {
    str += River[i] + "<br/>";
}

document.write(str);

Рис. 9.5.

Динамические массивы

В динамических массивах заранее не указывается количество элементов, однако, нужно сразу провести процедуру инициализизации. Синтаксис:

Имя массива = new Array("элемент 1", "элемент 2", …, "элемент N")

В следующем примере будет показано создание динамического массива. Определение количества элементов динамического массива осуществляется с помощью инструкции

Количество элементов массива = имя массива.length

        var n, i, str;
  City = new Array("Москва", "Лондон", "Париж", "Токио", "Уфа");
        n = City.length
        str = "<br/>";
        for (i = 0; i < n; i++) {
            str += City[i] + "<br/>";
        }
        document.write(str);

Рис. 9.6.
< Лекция 7 || Лекция 8: 12 || Лекция 9 >