Основы Web-инжиниринга. Часть 1. Громов Ю.Ю - 107 стр.

UptoLike

}
...
<A HREF="javascript:ichange();void(0);">
<IMG NAME=i1 SRC=image2.gif BORDER=0>
</A>
Попробуем теперь выполнить JavaScript-код применительно к контейнеру FORM:
<FORM NAME=f action="javascript:window.alert(
document.f.fi0.value);void(0);"
METHOD=post>Введите текст для отображения в окне и нажмите ввод:
<INPUT NAME=fi0 SIZE=20 MAXLENGTH=20>
</FORM>
Следует отметить, что все-таки использование схемы javascript в этом месте HTML-разметки выглядит неудачно.
Гораздо логичнее применить обработчик события onSubmit.
4.9. ТИПЫ И СТРУКТУРЫ ДАННЫХ
Как и любой другой язык программирования, JavaScript поддерживает встроенные типы и структуры данных. Все их
многообразие подразделяется на:
литералы и переменные;
массивы, функции и объекты.
При этом все они делятся на встроенные и определяемые программистом. Остановимся на литералах, переменных и
массивах.
Литералом называют данные, которые используются в программе непосредственно. При этом под данными понимаются
числа или строки текста. Все они рассматриваются в JavaScript как элементарные типы данных. Приведем примеры литера-
лов:
числовой литерал: 10
числовой литерал: 2.310
числовой литерал: 2.3e+2
строковый литерал: 'Это строковый литерал'
строковый литерал: "Это строковый литерал"
Литералы используются в операциях присваивания значений переменным или в операциях сравнения:
var a=10;
var str = 'Строка';
if(x=='test') window.alert(x);
Два варианта строковых литералов необходимы для того, чтобы использовать вложенные строковые литералы. Вообще
говоря, есть подозрение, что равноправие "..." и '...' мнимое. Если внимательно посмотреть на реализацию страниц програм-
мирования гипертекстовых ссылок (href.htm, path.htm и mouse.htm), можно заметить, что вместо прямого переназна-
чения гипертекстовой ссылки литералом типа '...' там используется косвенное переназначение через функцию литералом
"...":
...
function line(a)
{
...
window.document.main.document.links[4].href="javascript:data(0);void(0);";
...
}
...
<A HREF="javascript:line(0);void(0);">
<IMG SRC=image.gif BORDER=0>
</A>
вместо:
<A HREF="javascript:
window.document.main.document.links[4].href='javascript:data(0);void(0);'; void(0);">
<IMG SRC=image.gif BORDER=0>
</A>
Это связано с особенностями реализации Netscape. Дело в том, что прямое переназначение неправильно отображает ки-
риллицу в win32, а вот косвенное работает. Похоже, что "..." разрешает анализ информации внутри строкового литерала
JavaScript-интерпретатором, а '...' – нет.
Если быть более точным, то следует сказать, что строкаэто объект. У этого объекта существует великое множество
методов. Строчный литерал и строчный объектдалеко не одно и то же. При применении к строчным литералам методов
строчных объектов происходит преобразование первых в последние.
Переменные в JavaScript могут быть определены назначением или при помощи оператора var:
i=10;
var i;