В этом случае браузер без поддержки JavaScript будет печатать:
Это обычный HTML документ.
Вновь документ HTML.
А без HTML-тэга комментария браузер без поддержки JavaScript напечатал бы:
Это обычный HTML документ.
document.write('А это JavaScript!')
Вновь документ HTML.
Пожалуйста обратите внимание, что Вы не можете полностью скрыть исходный код JavaScript. То, что мы здесь делаете, имеет целью предотвратить распечатку кода скрипта на старых браузерах — однако тем не менее читатель сможет увидеть этом код посредством пункта меню 'View document source'. Не существует также способа скрыть что-либо от просмотра в вашем исходном коде (и увидеть, как выполнен тот или иной трюк).
События
События и обработчики событий являются очень важной частью для программирования на языке JavaScript. События, главным образом, инициируются теми или иными действиями пользователя. Если он щелкает по некоторой кнопке, происходит событие
Мы можем заставить нашу JavaScript-программу реагировать на некоторые из них. И это может быть выполнено с помощью специальных программ обработки событий. Так, в результате щелчка по кнопке может создаваться выпадающее окно. Это означает, что создание окна должно быть реакцией на событие щелка —
<form>
<input type='button' value='Click me' onClick='alert('Yo')'>
</form>
Данный пример имеет несколько новых особенностей — рассмотрим их по порядку. Вы можете здесь видеть, что мы создаем некую форму с кнопкой (как это делать — проблема языка HTML, так что рассматривать это здесь я не буду). Первая новая особенность — onClick='alert('Yo')' в тэге <input>. Как мы уже говорили, этот атрибут определяет, что происходит, когда нажимают на кнопку. Таким образом, если имеет место событие
Функция
Некоторое замешательство может вызвать еще одна особенность данного примера: в команде document.write() мы использовали двойные кавычки ('), а в конструкции alert() — только одинарные. Почему? В большинстве случаев Вы можете использовать оба типа кавычек. Однако в последнем примере мы написали onClick='alert('Yo')' — то есть мы использовали и двойные, и одинарные кавычки. Если бы мы написали onClick='alert('Yo')', то компьютер не смог бы разобраться в нашем скрипте, поскольку становится неясно, к которой из частей конструкции имеет отношение функция обработки событий onClick, а к которой — нет. Поэтому Вы и вынуждены в данном случае перемежать оба типа кавычек. Не имеет значения, в каком порядке Вы использовали кавычки — сперва двойные, а затем одинарные или наоборот. То есть Вы можете точно так же написать и onClick='alert('Yo').
Вы можете использовать в скрипте множество различных типов функций обработки событий. Сведения о некоторых из них мы получим в данном описании, однако не о всех. Поэтому обращайтесь пожалуйста к соответствующему справочнику, если Вы хотите узнать, какие обработчики событий еще существуют.
Итак, если Вы используете браузер Netscape Navigator, то выпадающее окно содержит текст, что был передан функции
Функции
В большинстве наших программ на языке JavaScript мы будем пользоваться функциями. Поэтому уже теперь мне необходимо рассказать об этом важном элементе языка.
В большинстве случаев функции представляют собой лишь способ связать вместе нескольких команд. Давайте, к примеру, напишем скрипт, печатающий некий текст три раза подряд. Для начала рассмотрим простой подход:
<html>
<script language='JavaScript'>
<!- hide
document.write('Добро пожаловать на мою страницу!<br>');
document.write('Это JavaScript!<br>');
document.write('Добро пожаловать на мою страницу!<br>');
document.write('Это JavaScript!<br>');
document.write('Добро пожаловать на мою страницу!<br>');
document.write('Это JavaScript!<br>');
// — >
</script>
</html>
И такой скрипт напишет следующий текст
Добро пожаловать на мою страницу!
Это JavaScript!
три раза. Если посмотреть на исходный код скрипта, то видно, что для получения необходимого результата определенная часть его кода была повторена три раза. Разве это эффективно? Нет, мы можем решить ту же задачу еще лучше. Как насчет такого скрипта для решения той же самой задачи?:
<html>
<script language='JavaScript'>
<!- hide
function myFunction() {
document.write('Добро пожаловать на мою страницу!<br>');
document.write('Это JavaScript!<br>');
}
myFunction();
myFunction();