Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Что такое HTTP 17 страница




5. Обратите внимание, весь вызов функции заменяется значением, полученным от функции. В данном случае вместо вызова getSquare (myNum) подставляется значение 25.

6. В результате переменной mySqr присваивается значение 25, благодаря знаку ра- венства в соответствующей строке.

В JavaScript, как и во многих других языках программирования, знак равенства, стоящий после имени переменной, означает присваивание. В данном случае мы имеем два присваивания: myNum = 10 и mySqr = getSqr (myNum). Во втором, более интересном, случае вы просите скрипт присвоить переменной mySqr значение, возвращаемое функцией getSqr при работе с фактическим параметром myNum.

Итак, в JavaScript знак равенства — это не вопрос, а утверждение равенства переменной определенному значению. А как же задать вопрос насчет равенства? Это может потребоваться, например, для составления условия. А для этого применяется специальная комбинация, состоящая из двух знаков равенства подряд (==).Пе-переменные, сравнения, условия и т. д. мы рассмотрим далее.

Пример вызова функции

Мы узнали еще немного о скриптах и JavaScript. Соберем все накопленные знания водном примере. Многое из того, что вы в нем увидите, уже встречалось в этой Главе. В листинге 17.2 представлена страница, содержащая полноценный скрипт.

Листинг 17.2. Вызов функции и возврат значения

KDOCTYPE html PUBLIC "V/W3C//DTD XHTML
1.0 Transitional//EN" "http://www.wЗ.
org/JR/xhtmll/DJD/xhtml1-transitiondl. dtd">
Bill xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> Возведение в квадрат </title>
<meta http-equiv="Content-Script-Туре"
content="text/javascript">
<scrlpt type="text/javascript">
<! --- прячем скрипт function getSquare (num)
squareNum = num * num; return (squareNum);
//Закончили прятаться -->
</script>
</head>

 

<tody>
<h1>A вот и ответ:</h1>
<script type="text/JavaScript">
<!--- прячеv скрипт
mynym= 10:
mySqr = getSquare (myNum);
document.writeln(" Квадрат числа " + myNum + " равен "
+ mySqr + "."):
//закончили прятаться -->
</script>
<noscript>
<p>Baiш браузер не поддерживает JavaScript</p>
</noscnpt>
</body>
</html>


Как видите, в вызов функции можно включить даже обычную разметку HTML После окончания работы скрипта все переменные знают свои значения, и им не стыдно показаться на экране. Результат — на рис. 17.3.

Рис. 17.3. Вторая строка этой страницы — результат вызова функции и возвращения значения

Работа с переменными

При написании скриптов приходится иметь дело с двумя основными типами данных: литералами и переменными. Литералы (они же константы) — это неизменные значения, будь то цифра 5, или строка Любовь и смерть всегда вдвоем, или число 6.02. Их можно присваивать переменным или использовать самостоятельно при вычислениях (и то и другое называется в программировании выражениями).

Вы уже имеете некоторое представление о переменных в JavaScript, но было бы неплохо познакомиться с ними поближе. Работать с ними проще и приятнее, чем в каком-либо другом языке. Здесь вам не нужно заботиться об объявлении переменных, думать о том, какого типа они должны быть. В JavaScript можно работать с четырьмя типами переменных: целочисленными, числами с плавающей запятой, символьными строками и булевскими значениями.

В целочисленный тип входят числа типа 4,17 или 364 345. Они могут быть как полo жительными, так и отрицательными, например -57. Числа с плавающей запятой -это десятичные дроби, такие как 3,2,23534,4435и 1,14159265е10(шш 11 415926500 в обычной нотации). Что касается булевского типа, то в него входят всего два логических значения: true и false.

Символьные строки — это особый тип данных, значениями которого могут быть последовательности символов, заключенные в кавычки. Символы могут соединять ся в слова, предложения, могут быть даже числами. Разница между строковым ти пом и всеми остальными состоит в том, что строки не могут использоваться в арифметических вычислениях. (Тем не менее их можно при желании преобразовать в численные значения.) Примеры переменных, которым присвоены строковые значения: City = "Санкт-Петербург", Zip = "194017".

Имена переменных

Есть определенные соглашения и нормы, касающиеся того, какие имена можно давать переменным.

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

Как выбираются имена переменных? Разные программисты используют разные подходы, а Тодд Стауфер рекомендует выбирать наиболее осмысленные имена. Поскольку использовать пробелы нельзя, приходится иногда соединять несколько слов в одно: Total Sal es, NewNum. Если вам такие имена не нравятся, можете вместо пробела использовать знак подчеркивания: oct_sal es, f i sh_count. Следует помнить, что имена должны быть короткими. Посудите сами, сколько времени и сил вы потратите зря в попытках правильно набрать длинное имя переменной.

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

Переменные, вычисления и присваивания

Очевидно, что переменные очень часто используются в алгебраических вычислениях. И в самом деле, и литералы, и переменные можно складывать (+), вычитать (-), делить (/) или умножать (*). Например:

MyNum * 5
х+ 1
12%5

В третьем примере мы ищем остаток отделения числа 12 на число 5. Результатом этого действия будет число 2. Математические вычисления такого рода довольно часто встречаются в скриптах и программировании вообще.

Тем не менее вы, вероятно, заметили, что вычисления из данного примера, по боль-шому счету, бессмысленны. Опять же, как и в алгебре, реальные значения нужно заменять переменными, тогда такого рода математика начинает обретать смысл. Более того, результат нужно присваивать какой-нибудь переменной:

NewNum = myNum * 5;
х = х + 1;

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

При желании, впрочем, можно упростить выражения присваивания:

NewName = "Майкл":
х = 4:
carColor = "серый металлик":

JavaScript позволяет и просто объявлять переменные, не присваивая им сразу кон кретные значения. Это бывает удобно, когда нужно только зарезервировать место в памяти компьютера, не инициализируя его сразу же каким-то значением. Haпрмер:

var х;
van myVariable;

Кстати, объявление новой переменной может быть одновременно и присваиванием. Поэтому следующее выражение вполне законно:

var milAge = 10000;

Инкремент и декремент переменных

Как видите, математические выражения реализовать на JavaScript несложно. Од ной из наиболее распространенных операций является инкремент. Особенно часто это используется, когда нужно посчитать, сколько раз какое-то событие случается в скрипте. Самый простой способ увеличить значение переменной — это изменять ее таким образом:

х = х + 1;

Операция сложения является бинарной, поскольку требуется наличие двух операндов. В данном конкретном случае первым операндом является старое значение переменной х, а вторым — 1. В результате получаем новое значение того же х. Например:

var у = 5;
У = У + 1:

После выполнения команды из первой строки значением у будет 5. После второй строки у уже равен 6.

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

х++:

Существуют две разновидности операции инкремента: х++ и ++х. Разница заключается в том, когда выполняется инкремент при одновременном присваивании. Приведу пример. Допустим, х равен 2. Теперь мы пишем:

у = х++;

При этом значением у будет 2, а значение х увеличится на единицу и будет равно 3. А теперь при тех же исходных условиях напишем такое выражение:

у = ++х;

В отличие от первого варианта после выполнения этой операции и х, и у будут равны 3, поскольку вначале выполнился инкремент, а затем присваивание. Можно сказать и по-другому: в первом случае присваивается еще не инкрементированное значение, а во втором — инкрементированное.

Точно так же работает декремент (--).

Существует альтернативный синтаксис операций присваивания с одновременным инкрементом/декрементом. Так, выражению х = х + 3 соответствует такое присваи ванне: х += 3. Если х был равен 5, то после выполнения этой операции он будет равен 8. Эквивалентны и такие две строки:

y = y-2
y = -2

Массивы

Прежде чем мы закончим обсуждение переменных, мы обратимся еще к одному вопросу. Массив — это тип данных, позволяющий под одним именем хранить несколько переменных. Вы спросите меня, как же отличить эти переменные и как обратиться к ним? А я вам отвечу: для этого существует система индексации в массивах. Каждая «переменная» имеет свой порядковый номер внутри массива. Например:

van player = new Array ("Боб". "Екатерина". "Дима". "Петя"):

Переменная player — это массив. В ней хранятся одновременно четыре значения. Доступ к ним организуется следующим образом. После имени массива в квадратных скобках пишется его порядковый номер (который, в свою очередь, может быть не конкретным числом, а целочисленной переменной). Например:

document. writeln ("Победитель - " + player[2] +"!");

Массивы нумеруются с нуля, поэтому значением р!ауег[2] будет не Екатерина, как вы, может быть, подумали, а Дима. Именно это имя будет подставлено в качестве аргумента метода writeln. Чтобы узнать, сколько элементов содержится в массиве, можно использовать специальную команду под названием length: NumPlayers = player, length:

Помните о том, что просто так использовать эту команду для обращения к конкретному элементу массива нельзя, поскольку счет ведется с нуля. То есть если length выдал число 5, это означает, что последний индекс массива равен [4], так как первый — [0].

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

<script type="text/javascript">
<!-- прячем скрипт
var player = new Array
("Боб". "Екатерина". "Дима". "Петя"):
document. writeln ("<р>Игрок №2: " + player[l] + "<\/р>"):
рlауег[1] = "Татьяна":
player[4] = "Галина":
document. writeln
("<р> теперь игрок №2: " + player[l] + "<\/р>"):
var newIdx = (player. length - 1):
document. writeln
("<p> Наш новый игрок: " + player[newldx] + "<\/p>"):
// закончили прятать скрипт -->
</script>

Результаты работы скрипта — на рис. 17.4.

Рис. 17.4. Скрипт может иметь доступ к элементам массива

Управление ходом выполнения алгоритма

Итак, вы знаете основные факты, касающиеся JavaScript. Мы рассмотрели переменные, функции, операцию присваивания и математические операции. Следующим шагом должно стать изучение выражений, позволяющих выстраивать управляющие конструкции.

Если вы уже имели дело с программированием, то многое вам покажется знакомым. В частности, конструкции If...else, выражения циклов for, while, break и continue.

Ключевым понятием при разговоре об управляющих выражениях является условие. Это некая часть кода, определяющая дальнейший ход вычислений. Логика условия такова: «Если нечто является истиной, то произойдет некое действие (действия)». Другое условие может выглядеть так: «Пока нечто не является истиной, производить некоторое действие, приводящее в конечном итоге к тому, что это нечто станет истиной». И т. п.

Зачастую в условиях используются сравнения: проверяется, равны ли два значения между собой, а если нет, то какое из них больше. В таком случае условие может звучать следующим образом: «Если х больше, чем у, то следует делать то-то». А можно и указать конкретное действие прямо в этом условии: «Если х больше, чем у, вернуть значение х».

Итак, прежде, чем разбирать управляющие конструкции, обратимся к сравнениям.

Операции сравнения

Сравнения обычно заключают в круглые скобки. Это небольшие отрезки кода, которые могут возвращать только два значения: истина или ложь. Например, рассмотрим такое выражение:

(X == 1)

Оно очень напоминает присваивание, только почему-то вместо одного знака равенства мы видим два. Это не опечатка, а признак сравнения. Здесь сравниваются два значения: 1 и значение переменной х. Если они равны, то условие истинно.

Хотите верьте, хотите нет, но у присваивания тоже может быть значение. Оно всегда равно true. Следующее условие всегда будет обращаться в истину, поскольку оно содержит присваивание:

(error-level = 2)

Хотя может показаться, что можно использовать одиночный знак равенства для составления выражения сравнения типа «равен ли х единице», но на самом деле это не так. Если вы забудете всего лишь один маленький значок =, то рискуете вместо сравнения написать утверждение факта равенства, то есть присваивание. Значит, следует писать оператор сравнения: ==. В таблице 17.1 показаны всевозможные операции сравнения.

Таблица 17.1. Операции сравнения в JavaScript

Операция Смысл Пример Условие возвращения «истины»
  Равно х==у х равно у
!= Не равно х!= у х не равно у
> Больше х > у х больше, чем у
< Меньше х < у х меньше, чем у
>= Больше или равно х >= у х больше или равно у
<= Меньше или равно х <= у х меньше или равно у

Разумеется, все эти операции используются при составлении условных выражений.Например:

(ConttVar ==5)
(testAver > 85)
(ItemType!= "рубашка")

Как показано в примере, сравниваться могут не только численные значения, но и строка. Когда производится сравнение, то значение true или false присваивается всей скобке, содержащей выражение. Если необходимо, можно данное значение присвоить какой-нибудь переменной. Только не забудьте при написании программы изобразить эти скобки замененными на «Истина» или «Ложь».

Условие if...else

В JavaScript есть условное выражение If...else, означающее тип выбора «или... или». Его синтаксис:

if (условие) { выражения скрипта}
else {
другие элементы }

Условие здесь встречается всего один раз и должно содержать выражение, принимающее значение true или fal se. Под «выражениями скрипта» здесь подразумевается наличие любых допустимых команд JS. Например:

if (x == 5) {
document.writeln("переменная х равна 5."); return;
else {
document.writeln("переменная х равна 5.");

Выражение el se не требуется в том случае, когда вы хотите, чтобы программа просто пропустила конструкцию i f целиком и продолжала выполнение алгоритма. Примером может послужить такой код:

if (totalValue == 1) { return (0)

В этом случае если условие равно f al se (то есть переменная total Value не равна 1), то конструкция i f полностью пропускается, а выполняется то, что следует за ней. Если же условие равно true (вы, наверное, догадались, что это означает для totalValue), то выполняется строка return (0).

Условия циклов

Для создания в программах циклов используются две конструкции: for и while. Что такое циклы? В программировании циклами называются отрезки кода, повторяющиеся снова и снова, пока условие выхода из цикла не обратится в истину.

Синтаксис цикла for следующий:

for (инициализация счетчика; условие:
выражение инкремента счетчика) {
команды JavaScript
}

Порядок работы следующий:

1. Цикл for начинается с инициализации переменной-счетчика.

2. Проверятся условие равенства счетчика предельному значению, при котором должен произойти выход из цикла.

3. Если предельное значение не достигнуто, выполняются команды, входящие в тело цикла.

4. После выполнения последней команды цикла счетчик инкрементирустся в соответствии с третьим параметром for.

5. Если достигнуто заранее определенное предельное значение, происходит вы ход из цикла, в противном случае программа возвращается к шагу 2.

Рассмотрим пример:

for (x=0: х<10; х=х+1)
{ total Num = 2 * х: document.writeln
("Если 2 умножить на " + х + ".
получится " + totalNum + "<br \/>"):

Как выполняется этот цикл? Вначале инициализируется нулем счетчик х. Вычисляется условие (х<10). Если оно истинно, то выполняется тело цикла. Затем инкре ментнруется счетчик. В данном случае на единицу. Цикл проходится заново, и х снова сравнивается с 10. Если все еще предельное значение не достигнуто, снова выполняется тело цикла. И так до тех пор, пока счетчик не дойдет до 10. Цикл заканчивается.

Цикл while похож на for, но он является более гибким. Он используется в очень многих случаях. Базовый синтаксис whilе:

while (условие) {
юнцы JavaScript
}

Цикл повторяется, пока условие истинно. Пример:

х=0;
while (х <= 5) {
x = х + 1:
document.writeln ("X равен " + х + "<br \/>")
}

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

Остановка и продолжение работы циклов

В языке JavaScript (как, впрочем, и во многих других) существуют зарезервированные слова break и conti nue, изменяющие поведение цикла при выполнении определенных условий.
break идеален для случаев, когда непонятно, какие значения могут поступить в программу. Например, если их вводит пользователь в HTML-форме. Допустим, имеется такой код:

for (x=0; х<10: х=х+1) {
z = getlnput ():
if (z = х) break;
}

Здесь вызывается функция getlnput(). Предполагается, что она просит пользователя ввести значение, присваиваемое затем переменной z. Остановка цикла происходит, если z и х вдруг окажутся одинаковыми. В противном случае цикл for продолжается до тех пор, пока х не достигнет 10.

Выражение continue используется, когда нужно пропустить конкретный инкремент. Например:

<scrlpt> var х = О while (x<10) {
х = х + 1;
if (x == 5) continue;
document.writeln (x + " не равно 5. <br \/>");
}
</script>

Если выполняется условие (х == 5), то элемент continue возвращает программу снова на while, заставляя пропустить все, что находится в цикле ниже его. Когда
условие не выполняется (в данном случае чаще всего так и будет), тело цикла будет выполняться целиком.

Циклы и массивы

Несмотря на существование множества причин, одна из них, пожалуй, важнее ос тальных. Я имею в виду работу с массивами. Оказывается, циклы и массивы-вообще братья навек. Циклы замечательно подходят для прохода по всем элементам массива, а массивы хранят свои элементы, используя числовые индексы.

Рассмотрим пример цикла while, в котором извлекаются значения из массива:

<script type = "text/javascript"?
<!-- Прячем код скрипта
student = new Array ("Александр". "Илья". "Наталья",
"Екатерина". "Ольга". "Алексей"): numStudents =

(student, length): document.writeln
("В группе " + numStudents + " студентов <br \/>"):
var x = 0;
while (x < numStudents) {
document.writeln ("Студент №" + (x+1) + ":
" + student[x] + "<br \/>'"); x++;
// закончили прятаться -->
</script>

Из-за того, что элементы массивы считаются с нуля, нам приходится выполнять некоторые вычисления над переменной х. Она используется в качестве счетчика цикла loop и одновременно является индексом, показывающим номер студента в группе. Поскольку студент №1 соответствует записи массива student[0], нам нужно все время прибавлять к реальному индекса единицу (х+1). Все остальное в данном примере должно быть понятно. Результат работы скрипта показан на рис. 17.5.

Рис. 17.5. Циклы очень помогают в работе с массивами

Объекты JavaScript

До сих пор мы изучали создание на JavaScript скриптов, выполняющих логические вычислительные операции. В последнем разделе этой главы мы обратимся к объектам JavaScript, то есть к наборам свойств.

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

В практическом применении объект можно назвать неким контейнером данных и алгоритмов их обработки. В большинстве случаев объекты выполняют свою строго определенную функцию в программе, чем напоминают массивы. Используя специальную нотацию, можно «влезть» в объект и получить доступ к переменным и методам. Некоторые примеры этого вы уже видели.

document. writeln ()

В этой команде вызывается метод writeln () объекта document. Как вы узнаете из главы 19, HTML-документ представляет собой один большой объект со множеством переменных, которые можно изменять. И как раз программное изменение свойств документа — это одно из главных достоинств JavaScript.

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

home01.price = 125 000
home01. sqfoot = 2300
home01.beds = 3
home01. baths = 2
home01.base = true
home01.descrip = "Прекрасное место, рядом хорошая школа."

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

<script>
showListing (home01);
</script>

С помощью указателя на объект получаем доступ к конкретным переменным:

<script>
function showListing (home) {
document.writeln ("Цена: " + home.price + "<br \/>"):
document.writeln ("Площадь: " + home.sqfoot + "<br \/>"):
document.writeln ("Кол-во жилых комнат/ванных: "
+ home.beds + "/" + home.baths +"<br \/>");
document.writeln ("Описание: " + home.descrip + "<br \/>");
return:
</script>

 

Чтобы этот пример работал корректно, нужно создать предварительно объект home01.Сейчас мы рассмотрим, как это делается.

Создание объектов

Объекты создаются в два этапа. Во-первых, нужно создать шаблон. Это делается с помощью объявления function. Затем нужно создать экземпляр объекта, с которым можно нормально работать. Например, чтобы создать шаблон объекта home, требуется создать следующую функцию:

function homeCprice. sqfoot. beds, baths, base, descrip) {
this.price = price;
this.sqfoot = sqfoot;
this.beds = beds:
this.baths = baths:
this.base = base:
this.descrip = descrip:
}

Обратите внимание на зарезервированное слово this. В JavaScript оно используется для ссылки на текущий объект. Этот прием используется довольно часто при манипуляциях с объектами, особенно в формах. Вы еще встретите this в главе 18.

Меж тем мы создаем экземпляр объекта с помощью шаблонной функции и служебного слова new. Это и будет вторым этапом. Например:

homeOl = new horne (125 000, 2300. 3. 2. true. "Прекрасное место,
рядом хорошая школа."):

Итак, new создает реальный объект. При этом сообщаются все его свойства: цена, площадь и т.д. При вызове функции home объект homeOl заменит указатель this, и на самом деле присваивания будут выглядеть так:

home01.price = 125 000
home01.sqfoot = 2300
home01.beds = 3
home01.baths = 2
home01.base = true
home01.descrip = "Прекрасное место, рядом хорошая школа."

Конечно, вы не увидите, как все это происходит. Но этого и не требуется. А требуется получить доступ к переменным объекта:

document.writeln ("Этот дом продается за $" + homeOl.price):

Но что, если нужно создать только один экземпляр объекта, и мы точно знаем, что других не будет? Тогда нам не нужен шаблон. В этом случае весь процесс организации структуры объекта сводится к единственной строке кода — присваиванию.

myhouse = {price:125000. sqfoot: 2300. beds: 3. baths:
2. base: true, descrip: "Прекрасное место,
рядом хорошая школа."}


Интересно, что во время работы с отдельным объектом можно расширять набор его свойств в любое время. Например:

homeOl.location = "midtown"

Замечательно. Это не повлияет на другие объекты, даже если они созданы с использованием того же шаблона.

Еще о методах

Если обычные переменные, ассоциированные с объектами, мы называем «свойствами», то функции, связанные с объектами, называются методами. Например, совсем недавно нам встречался метод document.writeln (), который на самом деле является функцией, связанной с объектом document, и позволяет записывать в веб-документы текст и HTML-разметку.

Итак, writeln() — функция, a document — ассоциированный с ней объект. Он является встроенным в JavaScript, и он не один такой. Встроенные объекты позволяют более простым путем получить доступ к часто используемым свойствам и изменять их.

Можно создавать и свои методы простым присваиванием имени функции объектной переменной:

object. имя_метода = имя_функции

Внутри функции, определяющей объект, методы задаются по-другому:

function showListing () {
document.writeln ("Цена: " + this.price + "<br \/>");
document.writeln ("Площадь: " + this.sqfoot + "<br \/>"):
document.writeln ("Кол-во жилых комнат/ванных: "
+ this.beds + "/" + this.baths +
"<br \/>");
document.writeln ("Описание: " + this.descrip + "<br \/>");
return:

 

function home(price. sqfoot. beds, baths, base, descrip) {
this.price = price:
this.sqfoot = sqfoot:
this.beds = beds:
this.baths = baths:
this.base = base:
this.descrip = descrip:
this.showListing = showListing:)
}

Если теперь определить объект home01l и вызвать метод home01.showLi sting(), то выполнится функция showLi sti ng, просто вместо thi s будет использовано имя home01.

ПРИМЕЧАНИЕ

Обратите внимание на то, что всегда после имени метода при его вызове пишутся круглые скобки. Даже если у вас нет данных для передачи в функцию, следует использовать пустые скобки ().

Встроенные объекты

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

Из этого параграфа вы узнаете о трех главных встроенных объектах JavaScript:




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 361; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.087 сек.