1744
.pdf//функция для отображения элемента массива function s(n){
document.write(m[n])
}
</script>
</head>
<b>Показать элемент №3 (нумерация с 0): <body>
<script language="JavaScript"> s(3)
</script>
</body>
</html>
В приведенном выше примере с помощью команды new создается массив c именем m, состоящий из 4 элементов, а затем происходит его заполнение каждому элементу присваивается определенное значение. Функция s при вызове выводит элемент массива с номером 3.
Способ 2
m=new Array(1,2,4,56)
Вызывается команда new и сразу задаются значения всех элементов массива.
Пример
<html>
<head> <title>Способ 2</title>
<script language="JavaScript">
//создание нового массива и его заполнение m=new Array(1,2,4,56)
//функция для отображения элемента массива function s(n){
document.write(m[n])
}
</script>
</head>
<b>Показать элемент №3 (нумерация с 0): <body>
<script language="JavaScript"> s(3)
40
</script>
</body>
</html>
На рис.19 показано, как будет выглядеть результат работы сценария.
Рис. 19. Вид Web-страницы в окне браузера
Аналогично задаются массивы с элементами строкового типа:
Способ 1 m=new Array(3) m[0]="Аня" m[1]="Катя" m[2]="Петя" m[3]="Вася"
Способ 2
m=new Array("Аня","Катя","Петя","Вася")
Для работы с массивами используются свойства и методы объекта Array, основные из которых приведены в табл. 4.
Таблица 4
|
Методы объекта Array |
|
|
Метод или свойство |
Описание |
1 |
2 |
m.length |
Возвращает количество элементов массива m |
|
|
|
Объединяет все элементы массива m в одну строку, |
m.join("разделитель") |
вставляя между элементами массива указанный в |
|
скобках разделитель |
|
Изменяет порядок элементов в массиве m: первый |
m.reverse() |
элемент становится последним, последний – первым и |
|
т.д. |
41
|
Окончание табл. 4 |
|
|
|
|
1 |
2 |
|
|
Выполняет сортировку элементов массива m |
|
m.sort([Метод |
указанным методом сравнения (при отсутствии |
|
сравнения]) |
параметра Метод сравнения сортирует в обычном |
|
|
словарном порядке) |
|
m.split(["разделитель", |
Разделяет строку на составные части, используя |
|
разделитель в качестве признака; n указывает |
|
|
n]) |
максимальное количество частей при разделении |
|
|
|
|
m.concat(Массив1) |
Объединяет исходный массив m и Массив1 в один |
|
массив |
|
|
|
|
|
m.slice(k1 [, k2] ) |
Выделяет часть массива от номера элемента k1 до |
|
номера элемента k2 (при отсутствии значения k2 |
|
|
|
выделяется часть массива от k1 до конца) |
|
Пример
Вводятся имена до тех пор, пока не будет введено пустое или не нажата кнопка «Cancel», и выводятся в виде нумерованного списка в окно браузера. Затем введенные имена сортируются и снова выводятся в окно браузера.
<html>
<head>
<title>Управление массивами</title> </head>
<body>
<h3>Пример управления массивами</h3> <script language="JavaScript">
a=new Array() i=0
do{
s=prompt("Введите имя","") if (s>" ") a[i]=s
i=i+1
}
while (s>" ")
document.write("Список введенных имен <br>") document.write("<ol>")
for (i in a){ document.write("<li>"+a[i]+"<br>")
}
42
document.write("</ol>")
a.sort()
document.write("<br>")
document.write("Список отсортированных имен <br>") document.write("<ol>")
for (i in a){ document.write("<li>"+a[i]+"<br>")
}
document.write("</ol>")
</script>
</body>
</html>
Рис. 20. Вид Web-страницы в окне браузера
Пояснения к программе:
В самом начале программы объявляется переменная a, которая является массивом произвольной длины. Далее с помощью цикла с постусловием do … while организован ввод имен. Введенные имена отображаются в виде нумерованного списка (тег <ol>). Далее с
43
помощью метода sort сортируются введенные элементы массива a и снова выводятся в виде нумерованного списка.
На рис.20 показано, как будет выглядеть результат работы сценария.
Пример
Дан массив имен. Переставить его следующим образом: первый с последним, второй с предпоследним и т.д. Вывести в окне вывода сначала исходный массив через «;», а затем массив с переставленными элементами через «;».
<script language="JavaScript">
a=new Array ("Антон", "Виктор", "Анна", "Варя", "Иван", "Катя") alert(a.join(";"))
a.reverse()
alert(a.join(";"))
</script>
Пример
Дан массив с названиями месяцев. Разделите его на составные части, используя в качестве разделителя символ «;».
<html>
<title>split()</title>
<script language="JavaScript"> s="Январь Февраль; Март Апрель Май" p=s.split(";")
document.write(p)
</script>
</html>
Пример
Разделить массив с названиями месяцев на массивы, содержащие названия месяцев соответствующих сезонов.
<html>
<head> <title>методы</title>
<script language="JavaScript">
god=new Array("декабрь", "январь", "февраль", "март", "апрель", "май", "июнь", "июль","август", "сентябрь", "октябрь", "ноябрь") leto=new Array
44
osen=new Array zima=new Array wesna=new Array //летние месяцы leto=god.slice(6,9) //осенние месяцы osen=god.slice(9,12) //зимние месяцы zima=god.slice(0,3) //весенние месяцы wesna=god.slice(3,6)
document.write(leto+"<br>")
document.write(osen+"<br>")
document.write(zima+"<br>")
document.write(wesna+"<br>")
</script>
</head>
</html>
На рис.21 показано, как будет выглядеть результат работы сценария.
Рис. 21. Вид Web-страницы в окне браузера
Объект Array позволяет создавать многомерные массивы.
Пример
В заданном случайным образом двумерном массиве a(2,3) найдите сумму элементов.
<html>
<head> <title>массивы</title></head> <body>
<center>
45
<b>Многомерный массив</b> <br>
<script language="JavaScript"> a=new Array(2)
for (i=0;i<3;i++){ a[i]=new Array(3) document.write("<br>") for (j=0;j<4;j++){
a[i][j]=Math.floor(Math.random()*20-10) document.write(a[i][j]+" ")
}
}
var s=0
for (i=0;i<3;i++){ for (j=0;j<4;j++){ s+=a[i][j]
}
}
document.write("<br>") document.write("Сумма элементов= "+s) </script>
</body>
</html>
На рис.22 показано, как будет выглядеть результат работы сценария.
Рис. 22. Вид Web-страницы в окне браузера
В программе формируется матрица из 3-х строк и 4-х столбцов случайными числами из диапазона от –10 до 10; сформированная
46
матрица выводится в окно браузера; вычисляется сумма элементов матрицы и выводится в окно браузера ниже матрицы.
3.4. Объект Date
Свойства и методы объекта Date позволяют использовать в сценариях JavaScript значения дат и времени. Даты в JavaScript сохраняются в миллисекундах, начиная с 00:00 01.01.1970. Эта дата называется эпохальной. Даты до этого момента времени использовать в JavaScript нельзя. Это связано с тем, что в сценариях намного чаще приходится иметь дело с настоящим и будущим, нежели с прошлым.
Объект Date создается так же, как и другие объекты JavaScript, с помощью ключевого слова new. Для этого используется один из следующих форматов записи:
d=new Date()
d1=new Date("1 сентября, 2009 8:20:00") d2=new Date(9, 1, 2009)
d3=new Date(9, 1, 2009, 8, 20, 0)
Методы, используемые объектом Date для управления датами и временем, можно подразделить на следующие категории:
методы установки (set) методы для установки даты и времени
уэкземпляров объекта Date;
методы определения (get) методы для определения даты и времени у экземпляров объекта Date;
методы преобразования (to) методы для преобразования даты и времени в строки;
методы для обработки даты.
3.4.1.Методы установки
ВJavaScript определены следующие методы установки:
1) setDate() определяет день месяца числом в диапазоне от 1 до
31;
2)setMonth() определяет месяц числом в диапазоне от 0 до 11;
3)setYear() определяет год;
4)setTime() определяет время (и дату), отсчитанное в миллисекундах от начала первого января 1970 года;
5)setHours(), setMinutes(), setSeconds() определяет время часами
вдиапазоне от 0 до 23, минутами и секундами в диапазоне от 0 до 59.
47
3.4.2.Методы определения
ВJavaScript определены следующие методы определения: 1) getDate() возвращает день месяца;
2) getMonth() возвращает месяц;
3) getYear() возвращает год;
4) getDay() – возвращает день недели числом в диапазоне от 0 до
6;
5)getTime() – возвращает время, отсчитанное в миллисекундах от начала первого января 1970 года;
6)getHours(), getMinutes(), getSeconds() возвращает время.
3.4.3.Методы преобразования
В JavaScript определены следующие методы преобразования:
1)toLocaleString() переводит дату в строку, используя местный часовой пояс;
2)toGMTString() переводит дату в строку, используя среднее гринвичское время (GMT).
3.4.4.Методы для обработки даты
В JavaScript определены следующие методы обработки даты:
1)Date.parse() преобразует текстовую запись даты, например Jun 20, 1996, в значение объекта Date (число миллисекунд, отсчитанных от 1/1/1970);
2)Date.UTC() выполняет обратное предыдущему методу действие, т.е. преобразует значение объекта Date (введенное в
миллисекундах) в текстовую запись даты.
Пример
Выведем текущую дату в окно браузера. <script language ="JavaScript"> current_date = new Date()
document.write("<p><i>Текущая дата:</i> " +current_date + ".") </script>
На рис.23 показано, как будет выглядеть результат работы сценария.
48
Рис. 23. Вид Web-страницы в окне браузера
Пример
Выведем дату в кратком формате. Для этого используются методы getDate, getMonth, getYear.
<script language="JavaScript"> current_date = new Date()
document.write("<i>Число:</i> " + current_date.getDate() + "." + (current_date.getMonth()+1) + "." + current_date.getYear()) </script>
На рис.24 показано, как будет выглядеть результат работы сценария.
Рис. 24. Вид Web-страницы в окне браузера
Пример
Выведем время в кратком формате в окно браузера. Для этого используются методы getHours, getMinutes, getSeconds.
<script language="JavaScript"> //получим текущую дату
var dat=new Date() //получим число часов var h=dat.getHours() //получим число минут var minute=dat.getMinutes() //получим число секунд var sec=dat.getSeconds()
49