Использование метода write
Метод
write объекта
document отображает вывод в Navigator'е.
«Зачем?», спросите вы, «ведь это уже делает HTML». Но в скрипте можно сделать то, чего не может обычный HTML. Например, вы можете вывести текст на основе выполнения условия или аргументов переменной. Поэтому
write это один из наиболее часто используемых методов JavaScript.
Метод
write принимает любое количество строковых аргументов, которые могут быть строковыми литералами или переменными. Вы можете также использовать операцию конкатенации строк (+) для создания одной строки из нескольких при помощи оператора
write.
Вот скрипт, генерирующий динамический
HTML с помощью JavaScript:
<HEAD>
<SCRIPT>
<!--- Скрываем скрипт от старых браузеров
function bar(widthPct) {
document.write("<HR ALIGN='left' WIDTH=" + widthPct + "%>");
}
function output(headLevel, headText, text) {
document.write("<H", headLevel, ">", headText, "</H",
headLevel, "><P>", text)
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT>
<!--- Скрываем скрипт от старых браузеров
bar(25)
output(2, "JavaScript Rules!", "Using JavaScript is easy...")
</SCRIPT>
<P> This is some standard HTML, unlike the above that is generated.
</BODY>
В
HEAD этого документа определены две функции:
- bar, которая отображает горизонтальную линию HTML, имеющую ширину, специфицированную аргументом функции.
- output, которая отображает заголовок HTML того уровня, который специфицирован первым аргументом, и текст параграфа, специфицированный третьим аргументом.
Затем в тэге
BODY документа эти две функции вызываются и дают на выходе:
Следующая строка создаёт вывод функции
bar:
document.write("<HR ALIGN='left' WIDTH=", widthPct, "%>")
Заметьте, что в определении bar использованы знаки одинарных кавычек вместо двойных. Вы обязаны делать так при обозначении закавыченной строки внутри строкового литерала. Затем вызов
bar с аргументом
25 производит вывод, эквивалентный следующему
HTML:
<HR ALIGN="left" WIDTH=25%>
write сопутствующий метод
writeln, который добавляет последовательность символов «новая строка» (возврат каретки или возврат каретки + прогон строки, в зависимости от платформы) в конец своего вывода. Поскольку HTML обычно игнорирует символы новой строки, разницы между
write и
writeln нет, за исключением положения внутри таких тэгов, как
PRE.