Основы JavaScript (часть 3)

Пользовательские функции
Пользовательские функции — это функции, которые можете создать сами, по своему усмотрению, для решения своих задач. Описание функции начинается ключевым словом function.
синтаксис:
function имя_функции(параметры)
{
код
}


Если параметров несколько, то они разделяются запятыми. Если нужно, чтобы функция возвращала некоторое значение, то в ее теле используют оператор return.
[php]
<script type="text/javascript">
function $rectangle(width,height) {
S = width * height
return S
}
</script>
[/php]
Можно миновать переменную S и записать:
[php]
function $rectangle(width,height) {
return width * height
}
</script>
[/php]

Вызов функции: $rectangle(3,6).
Если внутри функции задавать переменные ключевым словом var, то:

Переменная в операторе присвоения встречается первый раз в вашей программе именно в теле функции. В этом случае она действует в пределах этой функции, но при этом эта переменная продолжает существовать во внешней программе. Это глобальная переменная.
Переменная в операторе присвоения уже определена во внешней программе. В этом случае она действует внутри функции и продолжает существовать после завершения функции. Это тоже глобальная переменная.

Объект String (строка)
синтаксис:
имя_переменной = new String («строковое_значение»)
или
var имя_переменной = new String («строковое_значение»)

Строковые объекты имеют методы и свойства. Доступ к ним:
строка.свойство
String.свойство
строка.метод([параметры])
String.метод([параметры])

Свойство length — длина или количество символов (вместе с пробелами):
mystring = «Форум»
mystring.length //значение равно 5

Методы:

charAt(индекс) — возвращает символ, занимающий в строке указанную позицию.
charCodeAt([индекс]) — преобразует символ в указанной позиции строки в го числовой эквивалент (код).
fromCharCode(номер1 номер [ , номер2 [ , номер N]]) — возвращает строку символов, числовые коды, которых указаны в качестве параметров.
concat(строка) — склейка строк.
indexOf(строка_поиска[ , индекс]) — производит поиск строки, указанной параметром, и возвращает индекс его вхождения.
lastindexOf(строка_поиска[ , индекс]), то же, что indexOf(строка_поиска[ , индекс]) только с конца строки.
locateCompare(строка) — сравнение строк в кодировке Unicode.
slice(индекс1 [ , индекс 2]) — возвращает подстроку исходной строки, начальный и конечный индексы.
split (разделитель [ , ограничитель]) — возвращает массив элементов, полученный из исходной строки.

substr(индекс [ , длина]) и substring (индекс 1, индекс 2) аналогичны. возвращают подстроку исходной строки.
toLocateLowerCase(), toLowerCase() — перевод строки в нижний регистр.
toLocateUpperCase(), toUpperCase() — перевод строки в верхний регистр.

Методы форматирования строк
Эквивалент записи html Привет, мир! в Javasript будет:
[php]
<script type="text/javascript">
x = "Привет, мир!".bold()
document.write(x)
</script>
[/php]
Выше был рассмотрен метод формирования строк. Этот метод соответствует тегам HTML. Большинство из них не имеют параметров. Ниже приведен список наиболее часто встречающихся:

anchor(«имя_анкора»)
blink()
bold()
fixed()
fontcolor(значение цвета)
fontsize(число от 1 до 7)
link(расположение url)
big()
small()
strike()
sub()
sup()

[php]
<script type="text/javascript">
"Главная страница".link("http://www.delphi-box.ru/")
/* эквивалент html коду:
<a href="http://www.delphi-box.ru/">Главная страница</a>
*/
</script>
[/php]

Массивы в JavaScript
Создание массива:
имя_массива = new Array([длина_массива]), где длина_массива необязательный числовой параметр. Значение длины массива находится при помощи свойства length:
имя_массива.length
Примеры:
[php]
<script type="text/javascript">
forum = new Array(4)
forum[0] = "Форум программистов"
forum[1] = "www.delphi-box.ru"
forum[2] = "303 темы"
forum.length
</script>
[/php]
Упрощенная запись:
[php]
<script type="text/javascript">
forum = new Array("Форум программистов", "www.delphi-box.ru", "303 темы")
</script>
[/php]

Свойства и методы массивов в JavaScript
Свойства:

length — длина или количество элементов массива;
prototype — свойство (прототип), позволяющее добавить новые свойства и методы ко всем созданным массивам.

Методы:

pop() — удаляет последний элемент массива и возвращает его значение;
push(значение|объект) — добавляет к массиву указанное значение в качестве последнего элемента и возвращает новую длину;
shift() — удаляет первый элемент массива и возвращает его значение;
unshift (значение|объект) — тоже, что и push(значение|объект) только в качестве первого элемента;
reverse — изменяет порядок следования элементов на противоположный;
sort([функция _сортировки]) — сортирует элементы массива с помощью функции сравнения;
toLocaleString(), ToString() — преобразует содержимое массива в символьную строку.

Многомерные массивы в JavaScript
Массив по сути это таблица из одного столба. Элементы массива могут содержать данные различных типов и объектов, а значит и массивы. Обращение к элементам такого массива происходит:
имя_массива [индекс_уровня1][индекс_уровня2]
[php]
script type="text/javascript">
menu = new Array()
menu[0] = new Array ("Меню 1.1", "Меню 1.2")
menu[1] = new Array ("Меню 2.1", "Меню 2.2")
menu[2] = new Array ("Меню 3.1", "Меню 3.2", "Меню 3.3")
</script>
[/php]

Комментирование и размещение ссылок запрещено.