Практикум по программированию на JavaScript

Запросы пользователю и переменные

Показывать лекцию целиком

Концепция

В этом уроке рассматриваются две концепции. Одна из них используется, когда необходимо запросить у пользователя информацию. Вторая — создание переменных — будет постоянно применяться при работе с JavaScript.

Кстати, мы возвращаемся к созданию полноценных сценариев JavaScript, а не просто будем добавлять к HTML события, поэтому снова будет использоваться полный формат <SCRIPT type="text/javascript">... </SCRIPT>. Вот что мы собираемся сделать: Мы просим пользователя ввести имя, и с этим именем будет связана переменная. Когда переменная будет присвоена, мы сможем ввести ее в строку document.write, которая выведет имя пользователя на странице.

Этот урок немного длиннее, так как он включает краткий обзор того, что было изучено до сих пор.

Сценарий

<SCRIPT type="text/javascript">

/* Этот сценарий предназначен для получения информации 
от пользователя и вывода ее на странице */

var user_name = prompt ("Введите свое имя в поле ниже","Здесь");
document.write("Привет, " + user_name + "! 
   Добро пожаловать на мою страницу!");

</SCRIPT>

Текст в скобках должен располагаться на одной строке.

Результат работы сценария

Привет, OL!  Добро пожаловать на мою страницу!

Разбор сценария

Что такое /* */?

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

Создание переменной

Переменные имеют первостепенное значение в JavaScript. Необходимо знать, как их создавать. В двух словах: для вывода функции JavaScript задается имя, состоящее из одного слова. Вспомните, как мы помещали дату на страницу с помощью метода getDate()? В строке document.write мы написали метод getDate() целиком. Сделать это один раз было не так уж трудно. Но что, если нужно было бы написать это десять раз на одной и той же странице? Писать одно и то же порядком надоедает. Потому мы задаем переменную, которая должна представлять окончательный результат метода. Возьмем, к примеру, переменную d. Тогда нужно будет только один раз написать getDate() и назначить результату метода переменную d. И на протяжении всего оставшегося сценария будем просто писать d там, где нужно поставить дату. Вернемся к примеру.

Вот строка из скрипта, которая задает переменную:

var user_name = prompt ("Введите свое имя в поле ниже","Здесь")

Переменная была создана по следующей схеме.

  • var (от variable, переменная) объявляет, что следующим словом будет имя переменной.
  • user_name (имя_пользователя) — имя переменной. Произвольное. Оно не обязательно должно быть таким длинным. Можно было бы использовать при желании просто N. Но удобнее называть переменные так, чтобы легко было вспомнить, о чем идет речь.
  • Помните, что регистр имеет значение для JavaScript, следовательно, если переменная обозначена Dog, то буква D каждый раз должна быть заглавной, иначе браузер посчитает их за два разных слова.
  • Здесь нет никаких кавычек, просто ставьте одно слово за другим, как показано выше.
  • Знак равенства = указывает на то, что переменная будет равна результату следующей команды.
  • В данном случае переменная будет представлять результат, полученный с помощью окна запроса
  • Команда Prompt

    В данном примере используется новая команда prompt (запрос). Этот метод выводит окно с сообщением и полем ввода. Вот формат запроса:

    var variable_name = prompt("Текст окна","Текст в поле ввода")

    Можно видеть, что var и присваиваемое имя переменной включены в формат. Иначе получился бы запрос, но ничего нельзя было сделать с данными, которые вводит пользователь.

    На всякий случай ...

  • Чтобы строка ввода оставалась пустой, ничего не пишите между второй парой кавычек.
  • Если не указать в скобках второй пары кавычек, в строке ввода появится слово "undefined".
  • Если в строке ввода что-то написано и пользователь выберет ОК, ничего не меняя, то в качестве вывода на странице появится то, что написано в строке ввода.
  • Если в строке ввода ничего нет и пользователь выберет OK, ничего не вводя, то на странице появится слово null.
  • Вернемся к разбору

    Теперь, зная все составляющие блоки, вернемся снова к сценарию:

    var user_name = prompt ("Введите свое имя в поле ниже","Здесь"); 
    document.write("Привет, " + user_name + 
    "!Добро пожаловать на мою страницу!");

    Вот весь процесс.

  • Имя переменной user_name присвоено результату запроса.
  • prompt просит пользователя написать свое имя в поле ввода.
  • В поле ввода записано: "Здесь."
  • Точка с запятой в конце строки.
  • document.write вызывает текст "Привет, ".
  • Знак плюс + указывает, что все элементы идут друг за другом.
  • user_name содержит результат запроса. Никаких кавычек — нам на странице нужен результат запроса, а не эти слова.
  • Еще плюс.
  • "!Добро пожаловать на мою страницу!" завершает текст.
  • Точка с запятой.
  • Пожалуйста, постарайтесь хорошо понять концепцию переменных. В JavaScript они используются постоянно. Без них не обойтись.

    Задание

    ...повторение пройденного.

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

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

    Задание 6. Самостоятельный разбор сценария

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

    <SCRIPT type="text/javascript">
    
    var name = 
      prompt("Пожалуйста, напишите свое имя","")
    
    var d = new Date(); 
                    
    var y =  d.getFullYear();  
    var m = d.getMonth() + 1;  
    var d = d.getDate();
    
    var t =  m + '/' + d + '/' + y + ' ';
    
    document.write("<TITLE>")
    document.write
    ("Привет "+name+ ". Сегодня " 
    +t+ ". Спасибо, что зашли.");
    document.write("</TITLE>")
    
    </SCRIPT>

    Разбор задания

  • Начинаем со строки <SCRIPT LANGUAGE="javascript">.
  • Создается переменная name. Имя пользователь вводит по запросу prompt.
  • Нам нужна дата, поэтому для даты создается переменная d.
  • Мы знаем, что год, месяц и число определяются с помощью d.getЧто-либо(), поэтому создаем переменные для каждого из этих элементов: y, m и d.
  • Видите + 1 после переменной m? Так мы получаем правильный месяц.
  • Для полностью записанной даты, состоящей из числа, месяца и года, также задается переменная с именем t.
  • Команда TITLE создается с помощью трех команд document.write. Таким образом легче всего отделить команды HTML и код JavaScript.
  • Первая команда из трех начинает команду <TITLE>.
  • Второй оператор создает строку текста. Обратите внимание, что выводимый текст помещен в двойные кавычки и отделен от команд, отвечающих за дату, знаками плюс. Не забудьте о пробелах в тексте.
  • Третья команда document.write завершает команду <TITLE>.
  • И все завершает </SCRIPT>.
  • Важно также помнить, что этот сценарий должен идти в документе HTML перед командой BODY, так как TITLE располагается в этом месте.
  • Вернуться к учебному плану