Глава 3
Внутренние объекты
В этой главе мы рассмотрим внутренние объекты языка JavaScript. В предыдущей
части рассматривались объекты браузера.
типы, такие как строки, а также
более сложные объекты, в частности даты.
| Имя объекта | Описание |
| Array | Массив. Не поддерживается в браузерах старых версий |
| Date | Дата и время |
| Math | Поддержка математических функций |
| Object | Обобщенный объект. Не поддерживается в старых версиях IE - до 4, NN - до 3. |
| String | Текстовая строка. Не поддерживается в старых версиях |
Объект array
Массив можно создать одним из следующих способов:
Объекты-массивы не имеют ни методов, ни свойств.
Объект Date
Объект содержит информацию о дате и времени. Этот объект имеет множество
методов, предназначенных для получения такой информации. Кроме того объекты
Date можно создавать и изменять, например путем сложения или вычитания
значений дат получать новую дату. Для создания объекта Date применяется
синтаксис:
dateObj = new Date(parameters)
где dateObj - переменная, в которую будет записан новый объект Date. Аргумент
parameters может принимать следующие значения:
Как уже говорилось ранее данный объект имеет множество методов, свойств
объект Date не имеет.
Методы.
Методов много. Кратко опишу методы объекта Date в таблице.
| Метод | Описание метода |
| getDate() | Возвращает день месяца из объекта в пределах от 1 до 31 |
| getDay() | Возвращает день недели из объекта: 0 - вс, 1 - пн, 2 - вт, 3 - ср, 4 - чт, 5 - пт, 6 - сб. |
| getHours() | Возвращает время из объекта в пределах от 0 до 23 |
| getMinutes() | Возвращает значение минут из объекта в пределах от 0 до 59 |
| getMonth() | Возвращает значение месяца из объекта в пределах от 0 до 11 |
| getSeconds() | Возвращает значение секунд из объекта в пределах от 0 до 59 |
| getTime() | Возвращает количество миллисекунд, прошедшее с 00:00:00 1 января 1970 года. |
| getTimeZoneoffset() | Возвращает значение, соответствующее разности во времени (в минутах) |
| getYear() | Возвращает значение года из объекта |
| Date.parse(arg) | Возвращает количество миллисекунд, прошедшее с 00:00:00 1 января 1970 года. Arg - строковый аргумент. |
| setDate(day) | С помощью данного метода устанавливается день месяца в объекте от 1 до 31 |
| setHours(hours) | С помощью данного метода устанавливается часы в объекте от 0 до 23 |
| setMinutes(minutes) | С помощью данного метода устанавливаются минуты в объекте от 0 до 59 |
| setMonth(month) | С помощью данного метода устанавливается месяц в объекте от 1 до 12 |
| setSeconds(seconds) | С помощью данного метода устанавливаются секунды в объекте от 0 до 59 |
| setTime(timestring) | С помощью данного метода устанавливается значение времени в объекте. |
| setYear(year) | С помощью данного метода устанавливается год в объекте year должно быть больше 1900. |
| toGMTString() | Преобразует дату в строковый объект в формате GMT. |
| toString() | Преобразует содержимое объекта Date в строковый объект. |
| toLocaleString() | Преобразует содержимое объекта Date в строку в соответствии с местным временем. |
| Date.UTC(year, month, day [,hours][,mins][,secs]) | Возвращает количество миллисекунд в объекте Date, прошедших с с 00:00:00 1 января 1970 года по среднему гринвичскому времени. |
Разберем пару примеров:
В данном примере приведен HTML-документ, в заголовке которого выводится
текущие дата и время.
<html>
<head>
<script language "JavaScript">
<--
function showh() {
var theDate = new Date();
document.writeln("<table cellpadding=5 width=100% border=0>" +
"<tr><td width=95% bgcolor=gray align=left>" +
"<font color=white>Date: " + theDate +
"</font></td></tr></table><p>");
}
showh();
//-->
</script>
</head>
</html>
Разберем еще один пример. Подобный мы уже разбирали, когда рассматривали
условные операторы, просто вспомним его и немного изменим: пусть меняются
графические бэкграунды в зависимости от времени суток.
<html>
<script language "JavaScript">
<--
theTime = new Date();
theHour = theTime.getHours();
if (18 > theHour)
document.writeln("<body background='day.jpg' text='Black'>");
else
document.writeln("<body background='night.jpg' text='White'>");
//-->
</script>
</body>
</html>
Вероятно, вы успели заметить, что тег <body> создается в
JavaScript-программе, а закрывается уже в статическом тексте HTML. Это вполне
допустимо, так, как все теги расположены в правильном порядке. В данном примере
предполагается, что файлы рисунков находятся в том же каталоге. Вы можете здесь
задать полный адрес URL.
Объект Math
математические константы.
Синтаксис:
Math.propertyName
Math.methodName(parameters)
Свойства
Свойствами объекта Math являются математические константы:
E |
Константа Эйлера. Приближенное значение 2.718 . . . |
LN2 |
Значение натурального логарифма числа два. Приближенное значение 0.693 . . . |
LN10 |
Значение натурального логарифма числа десять. Приближенное значение 2.302 . . . |
LOG2_E |
Логарифм e по основанию 2 (не вижу смысла в этой константе - это же корень из двух.) Приближенное значение 1.442 . . .) |
LOG10_E |
Десятичный логарифм e. Приближенное значение 0.434 . . . |
PI |
Число ПИ. Приближенное значение 3.1415 . . . |
SQRT2 |
Корень из двух, (ыгы, это все равно, как еще и натуральный логарифм 2*e в степени 1/2) |
Методы
Методы объекта Math представляют собой математические функции. Пожалуй, и их
включим в таблицу:
abs() |
Возвращает абсолютное значение аргумента. |
acos() |
Возвращает арккосинус аргумента |
asin() |
Возвращает арксинус аргумента |
atan() |
Возвращает арктангенс аргумента |
ceil() |
Возвращает большее целое число аргумента, округление в большую сторону. Math.ceil(3.14) вернет 4 |
cos() |
Возвращает косинус аргумента |
exp() |
Возвращает экспоненту аргумента |
floor() |
Возвращает наибольшее целое число аргумента, отбрасывает десятичную часть |
log() |
Возвращает натуральный логарифм аргумента |
max() |
Возвращает больший из 2-х числовых аргументов. Math.max(3,5) вернет число 5 |
min() |
Возвращает меньший из 2-х числовых аргументов. |
pow() |
Возвращает результат возведения в степень перврго аргумента вторым. Math.pow(5,3) вернет 125 |
| random() | Возвращает псевдослучайное число между нулем и единицей. |
round() |
Округление аргумента до ближайшего целого числа. |
sin() |
Возвращает синус аргумента |
sqrt() |
Возвращает квадратный корень аргумента |
tan() |
Возвращает тангенс аргумента |
Math перед методом: var
mpi = Math.Pi. В данном случае переменной mpi присвоится значение Пи. Или,
например, var myvar = Math.sin(Math.Pi/4). Думаю, комментарии излишни.
Обобщенные объекты
Пожалуй, еще рано о них говорить. Думается позже, когда будем разбирать
пользовательские объекты и конструкторы. Иначе, придется делать большое
отступление.
Строковые объекты
stringName.propertyName
stringName.methodName(parameters)
Здесь stringName - имя объекта String. Строки можно создавать тремя способами:
1. Создать строковую переменную при помощи оператора var и присвоить ей
строковое значение;
2. Присвоить значение строковой переменной только посредством оператора
присваивания (=);
3. Использовать конструктор String().
Свойства
Значением свойства length является длина строки. Например, выражение "Script".length
вернет значение 6, поскольку строка "Script" содержит 6 символов.
Методы
Как можно и передположить, разработчики языка не оставили этот объект со скудным
запасом методов. Вспомните любой язык программирования и сколько строковых
функций он содержит. Чтож, так, как использование этих методов не составит
затруднений, я их просто помещу в таблицу. Вызов метода осуществляется обычно:
"Строка или строковая переменная".метод(), в данном случае метод без параметров,
имеются методы и с параметрами. Заметьте, строка или строковая переменная, к
которой применяется метод - объект, и никак не аргумент!
| Метод | Описание метода |
big() |
Аналогично тегам HTML <big> . . .</big>. позволяет отобразить более крупным шрифтом. |
blink() |
Заставляет строку мигать. (Этим почти никто не пользуется). |
bold() |
Название говорит за себя - делает символы жирными. |
charAt(arg) |
"Sc<FONT COLOR="#FF0000">ript".charAt(3); переменной vpos будет присвоено значение "r". |
fixed() |
Анологично <tt> . . .</tt> вывод строки фиксированного размера. |
fontcolor(arg) |
Анологично <font color="#rrggbb"> . . .</font>. Аргумент метода может быть как триплетом RGB, так и зарезервированным словом. |
fontsize(arg) |
Позволяет изменять размер шрифта. Аргумент в условных единицах. Анологично <font size=size> . . .</font>. Также можно использовать вид +size или -size для увеличения или уменьшения шрифта на size единиц, например: "строка".fontsize(+1). |
indexOf(arg1[,arg2]) |
Возвращает позицию в строке, где впервые встречается символ - arg1, неябязательный числовой аргумент arg2 указывает начальную позицию для поиска. |
italics() |
Аналогично тегам HTML <i> . . .</i>. позволяет отобразить италиком. |
lastlndexOf(arg1[,arg2]) |
Возвращает либо номер позиции в строке, где в последний раз встретился символ - arg1, либо -1, если символ не найден. Arg2 задает начальную позицию для поиска. |
link() |
Аналогично тегам HTML <a href> . . .</a>. позволяет преобразовать строку в гиперсвязь. |
small() |
Аналогично тегам HTML <small> . . .</small>. позволяет отображать строку мелким шрифтом. |
strike() |
Аналогично тегам HTML <strike> . . .</strike>. позволяет отображать строку зачеркнутой. |
sub() |
Аналогично тегам HTML <sub> . . .</sub>. позволяет отображать строку нижним индексом. |
substring(arg1,arg2) |
Позволяет извлеч подстроку длинной arg2, начиная с позиции arg1 |
sup() |
Аналогично тегам HTML <sup> . . .</sup>. позволяет отображать строку верхним индексом. |
toLowerCase() |
Преобразует символы строкового объекта в строчные |
toUpperCase() |
Преобразует символы строкового объекта в прописные |
операций над строками и в то же время
как методы форматирования.
| Главная |