Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции.rtf
Скачиваний:
115
Добавлен:
15.06.2014
Размер:
24.67 Mб
Скачать

4.4.1 Объекты и Свойства

Объект JavaScript имеет свойства ассоциированные с ним. Обращаться к свойствам объекта можно следующей простой системой обозначений:

objectName.propertyName

И имя объекта, и имя свойства чувствительны к регистру. Например, пусть существует объект, с именем myCar (мы обсудим, как создавать объекты позже - теперь, только принимаем, что объект уже существует). Можно дать свойства, именованные make , model , и year следующим образом:

myCar.make = "Ford"

myCar.model = "Mustang"

myCar.year = 69;

Можно также обратиться к этим свойствам, используя систему обозначений таблицы следующим образом:

mycar["make"] = "Ford

myCar["model"] = "Mustang"

myCar["year"] = 69;

Этот тип таблицы известен как ассоциативная таблица, потому что каждый элемент индекса также связан со значением строки. Чтобы пояснять, как это делается, следующая функция показывает свойство объекта, когда проходите объект и имя объекта как аргументы функции: < } result; return \n? ?=" + obj[i] + " +="obj_name" i ?.? result="" obj) in (var for var { obj_name) show_props(obj,>

Так, обращение к функции show_props(myCar, "myCar") возвращает следующее:

myCar.make = Ford

myCar.model = Mustang

myCar.year = 67

Можнотакже определять свойства, используя порядковые числа, например:

temp[0] = 34

temp[1] = 42

temp[2] = 56

Эти утверждения создают три свойства объекта temp, и необходимо обращаться к этим свойствам как temp[i], где i - целое число между 0 и 2.

4.4.2 Функции и Методы

Функции - один из фундаментальных встроенных блоков в JavaScript. Функция - JavaScript процедура - набор утверждений, которые выполняют определенную задачу.

Определение функции состоит из ключевого слова function , сопровождаемого

Именем функции

Списком аргументов функции, приложенной в круглых скобках, и отделяемые запятыми

JavaScript утверждениями, которые определяют функцию, приложенные в фигурных скобках, {...}

Можноиспользовать любые функции, определенные в текущей странице. Лучше всего определять все ваши функции в HEAD страницы. Когда пользователь загружает страницу, сначала загружаются функции.

Утверждения в функциях могут включать другие обращения к функции.

Например, есть функция с именем pretty_print:

function pretty_print(string) { document.write("

" + string) }

Эта функция принимает строку как аргумент, прибавляет некоторые теге HTML, используя оператор суммы (+), затем показывает результат в текущем документу.

Определение функции не выполняет ее. Для этого необходимо вызвать функцию, чтобы выполнить ее. Например, можно вызывать функцию pretty_print следующим образом:

< SCRIPT>

pretty_print("This is some text to display")

</ SCRIPT>

Аргументы функции не ограничены только строками и числами.

Аргументы функции сохраняются в таблице. Внутри функции, можно адресовать параметры следующим образом:

functionName.arguments [i]

Где functionName - имя функции, и i - порядковое число аргумента, начинающегося с нуля. Так, первый аргумент в функции, с именем myfunc, будет myfunc.arguments [0]. Общее число аргументов обозначено переменным arguments.length.

Функция может даже быть рекурсивной, то есть она может вызывать себя. Например, существует функция, которая вычисляет факториалы:

function factorial(n) {

if ((n == 0) || (n == 1))

return 1

else {

result = (n * factorial(n-1) )

return result

}

}

Можнопоказывать факториалы от одного до пять следующим образом:

for (x = 0; x < 5; x++) {

document.write(x, " factorial is ", factorial(x))

document.write("

")

}

Результаты будут следующие:

факториал нуля - 1 факториал единицы - 1 факториал двойки - 2 факториал тройки - 6 факториал четверки - 24 факториала пятерки - 120

Функции с Переменными Числовыми Аргументами

Можно вызывать функцию с большим количеством аргументов, чем она формально объявлена, используя массив arguments . Это часто полезно тогда, когда не известно заранее, сколько аргументов будут в функции. Можноиспользовать arguments.length, чтобы определить число аргументов в функции, и затем обращаться к каждому аргументу, используя массив arguments .

Например, рассмотрим функцию, определенную, чтобы создать списки HTML. Единственый формальный аргумент функции - строка, которая является "U", если список неупорядочен или "O", если список упорядочен (пронумерован). Функция определена следующим образом:

function list(type) {

document.write("<" + type + "L")

//начинается список

for (var i = 1; i < list.arguments.length; i++) // Повторить через аргументы document.write("" + list.arguments[i])

}

Можнопроходить любое число аргументов этой функции, и затем показывать каждый аргумент как каждый отдельный пункт в обозначенном типе списка. Например, следующий запрос на функцию:

list("o", "one", 1967, "three", "etc, et")

one

1967

three

etc, et

Соседние файлы в предмете Программирование для Web