Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1744

.pdf
Скачиваний:
5
Добавлен:
07.01.2021
Размер:
1.69 Mб
Скачать

//функция для отображения элемента массива 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

Рис. 25. Вид Web-
страницы в окне браузера

Рис. 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]