Использование встроенных объектов

Что такое объект

Объект сочетает в себе несколько типов данных (свойств) и функций (методов), управляющих этими данными. Вы детально познакомитесь со встроенными объектами Math и Date. Но сначала, давайте посмотрим, как используются объекты в JavaScript.

Создание объектов

JavaScript имеет специальные функции, называемые конструкторами, которые используются для создания объектов. Например, встроенная функция String используется для создания объектов String. Строковая переменная создается следующим образом:

myname = new String("Текст");

Ключевое слово new дает указание JavaScript создать новый объект - или, новый экземпляр объекта String. Этот экземпляр строкового объекта имеет значение Текст и отзывается на имя myname.

Подобный синтаксис можно применять для создания любого объекта: String, Date, Array или даже пользовательского. (Объекты Math составляют исключение.)

Свойства объекта

Каждый объект имеет одно или несколько свойств, или атрибутов. Каждое свойство - это отдельная переменная, сохраненная в объекте. Каждой переменной определяется значение. Свойства используются для сохранения данных определенного типа.

Вы уже использовали некоторые свойства объектов в предыдущих уроках. Например свойство length массивов и строковых переменных. Чтобы обратиться к свойству, вводится имя объекта, разделитель (точка), а после него имя свойства. Например длина массива names определяется следующим образом:

names.length

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

names[0].length

Методы

Как вы уже знаете, функции - это набор операторов, которые выполняются как единое целое. Методы - это функции, которые сохраняются в виде свойств объектов.

Например метод toUpperCase объекта String преобразует произвольный текст в текст, введенный строчными символами. Ниже приведен пример использования метода:

value.toUpperCase();

Подобно обычным функциям, методы возвращают значения. Например, следующий оператор округляет числовое значение с помощью метода round объекта Math и заносит результат в переменную final:

final = Math.round(num);

Ключевое слово with

С его помощью программы JavaScript становятся проще или, по меньшей мере, их становится проще вводить.

Ключевое слово with определяет объект. После него в скобках вводятся операторы действия. Для каждого оператора любое, указанное без имени объекта свойство по умолчанию считается свойством указанного вместе с ключевым словом with объекта.

Предположим, у вас есть строковый объект lastname. Чтобы выполнить необходимые операции с ним и упростить программу, добавьте в ее код ключевое слово with:

with (lastname) {
window.alert("Длина фамилии: " + length);
toUpperCase();
}

В этом примере свойство lehgth и метод toUpperCase() соответствует объекту lastname, хотя он явно определен только один раз после ключевого слова with.

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

Объект Math

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

Поскольку свойства и методы объекта Math управляются с помощью набора всевозможных операторов, очень удобно использовать вместе с этим объектом ключевое слово with.

Округление и усечение

Три часто используемых метода объекта Math позволяют округлять десятичные дроби до целых значений.

Math.ceil() - округляет число до ближайшего большего целого.

Math.floor() - округляет число до ближайшего меньшего целого.

Math.round() - округляет число до ближайшего целого.

Все эти методы имеют только один аргумент - округляемое значение. Это не всегда удобно: иногда возникает ситуация, когда необходимо округлять не к целому числу, а к определенному десятичному знаку (например при расчете денежных величин). Следующий пример демонстрирует, как это упущение можно устранить.


function round(num) {
       return Math.round(num * 100) /100;
}
                   

Округляемое значение сначала умножается на 100. Таким образом число целых разрядов увеличивается на два. Затем это число округляется и делится на 100. Таким образом получается округленное значение, имеющее два десятичных разряда.

Генерация случайных чисел

Один из часто используемых методов объекта Math - это метод Math.random(), позволяющий генерировать случайные числа. Этот метод не требует использования дополнительных параметров. Он возвращает произвольное десятичное число в диапазоне от нуля до единицы.

Следует заметить, что обычно необходимо получить случайное число в диапазоне от 1 до некого значения переменной num. Это число можно получить с помощью специальной функции. Следующий пример демонстрирует, как получить произвольное число в диапазоне от 1 до указанного числа.


function rand(num) {
       return Math.floor(Math.random() * num) + 1;
}
                   

Эта функция получает произвольное число следующим образом: указанное число умножается на случайное значение, сгенерированное методом Math.random(), и полученное число преобразуется в целое с помощью метода Math.floor(). Чтобы число могло входить и в конец диапазона, еще прибавляется единица.

nextn.bmp (246 bytes)

home.gif (161 bytes)

next.gif (900 bytes)

Сайт управляется системой uCoz