Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Хеш-таблицы в JavaScript




В языке JavaScript можно реализовать хеш-таблицу (то есть таблицу пар ключ-значение) несколькими способами, которые описаны ниже.

Объекты позволяют хранить и получать значения по ключам:

var h = new Object();

h.property = 10;

alert(h.property);

Следующий код будет выполнен, как ожидалось, и выведет на экран число 110:

var h = new Object();

h.property = 10;

h[0] = 100;

alert(h.property + h[0]);

Следует заметить, что свойства не конфликтуют между собой, то есть h.property и h[0] – два разных свойства объекта.

В квадратные скобки можно заключать не только числа:

var h = new Object();

h.property = 10;

var s = 'ty';

alert(h['proper' + s]);

То есть h['property'] то же самое, что и h.property.

Удаление свойств осуществляется с помощью оператора delete:

var h = new Object();

h['property'] = 10;

alert(delete h['property']);

//выведет на экран true

alert(h['property']);

//выведет на экран undefined

Последний пример – перебор всех свойств объекта:

var h = new Object();

...

var props = '';

for(var i in h)

props += i + ': ' + h[i] + '\n';

alert(props);

Следует заметить, что переменная i внутри цикла содержит имя свойства,
а не его значение.

Встроенные объекты Array, Date, Math

Объект Array

Массив является объектом и имеет ряд свойств и методов. Единственным свойством массива является length, которое показывает количество элементов, содержащихся в массиве.

Ниже описаны основные методы массивов:

concat ([item1: { Object | Array } [,... [, itemN: { Object | Array }]]]]): Array – возвращает массив, состоящий из исходного массива и любого количества новых элементов;

join (separator: String): String – возвращает строку, содержащую все элементы массива, разделенные строкой;

pop (): Object – удаляет последний элемент массива и возвращает его;

push ([item1: Object [,... [, itemN: Object]]]): Number – добавляет в конец массива новые элементы; если один из аргументов – массив, он добавляется как один элемент;

shift (): Object – удаляет первый элемент массива и возвращает его;

sort (sortFunction: Function): Array – возвращает отсортированный массив;

unshift ([item1: Object [,... [, itemN: Object]]]): Array – добавляет один или больше новых элементов в начало массива.

Объект Date

Объект Date предоставляет набор методов для работы с датой и временем.

Текущее время в объекте Date берется из операционной системы. Дата и время в объекте Date хранятся в виде числа, показывающего количество миллисекунд, прошедшее с 1 января 1970 года. Также следует помнить, что нумерация месяцев и дней недели начинается также с нуля, нулю соответствует воскресенье.

У объекта Date два конструктора с разными наборами параметров:

function Date([dateVal: { Number | String } ]) – если тип параметра – число, оно воспринимается как количество миллисекунд с 1 января 1970 года; если строка, то она преобразуется в соответствии с шаблоном "month dd, yyyy hh:mm:ss";

function Date(year: int, month: int, date: int[, hours: int [, minutes: int [, seconds: int [, ms: int]]]]) – в качестве параметров передается год, месяц и день, в качестве необязательных параметров может передаваться время.

Если при создании экземпляра объекта Date никаких параметров не передается, то этому экземпляру присваивается текущая дата.

Приведем некоторые методы объекта Date. Они начинаются с префикса set и устанавливают определенные значения. Существует также аналогичный набор методов с префиксом get, который возвращает атрибуты объекта Date.

setDate (numDate: Number) – устанавливает день в месяце, если устанавливаемое значение больше количества дней в месяце, то устанавливается следующий месяц и день, равный numDate минус количество дней в текущем месяце. Например, если текущая дата 10 января 2008 года и в setDate() передается число 33, то дата станет 2 февраля 2008 года. Если в setDate() передается отрицательное значение, то поведение в этом случае аналогично;

setFullYear (numYear: Number [, numMonth Number [, numDate Number]]) – устанавливает год, в качестве необязательных параметров можно указать месяц и день;

setHours (numHours: Number [, numMin: Number [, numSec: Number [, numMilli: Number ]]]) – устанавливает часы, необязательными параметрами являются минуты, секунды и миллисекунды;

setMilliseconds (numMilli: Number) – устанавливает миллисекунды;

setMinutes (numMinutes: Number [, numSeconds: Number [, numMilli: Number]]) – устанавливает минуты, необязательными параметрами являются секунды и миллисекунды;

setMonth (numMonth: Number [, dateVal: Number]) – устанаваливает месяц, необязательный параметр – день от начала месяца;

setSeconds (numSeconds: Number [, numMilli: Number]) – устанавливает секунды, необязательный параметр – миллисекунды;

setTime (milliseconds: Number) – устанавливает время в миллисекундах, прошедших с 1 января 1970 года.

Важное значение имеет метод parse, который преобразует дату в строку по заданному шаблону. Для более подробной информации по преобразованию даты в строку смотрите MSDN Library.

<!-- пример # 3: часы. Использование методов объекта Date -->

<html> <head>

<title>Clock</title>

<script type="text/JavaScript">

function clockform()

{d=new Date();

time=d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();

document.formcl.fclock.value=time;

setTimeout("clockform()",100); }

</script>

</head>

<body onLoad="clockform()">

<center>

<form name=formcl metod="get">

<input name=fclock maxlength=8 size=8>

</form> </center>

</body></html>

Объект Math

Объект Math содержит в себе набор констант и методов, расширяющих базовые арифметические операции.

Невозможно создать экземпляр объекта Math, так как он является статиче-
ским и создается автоматически во время выполнения скрипта.

Приведем пример возведения числа в степень:

alert(Math.pow(10,3));

//выведет 1000

<!--пример # 4: функция вычисления площади круга -->

<html>

<head>

<title>Функция вычисления площади круга </title>

</head>

<body>

<script type="text/javascript">

function sq(r) {

document.write("Задали r= ", r,

" для функции.","<BR>")

return Math.PI*r * r;

}

var r=2;

document.write("Площадь круга равна ",sq(r),".")

</script>

</body> </html>






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных