Обучение JavaScript — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Новая страница: «Здесь размещено небольшое пособие, помогающее начать писать программы на языке JavaScript. Пос...»)
 
Строка 1: Строка 1:
Здесь размещено небольшое пособие, помогающее начать писать программы на языке JavaScript. Пособие ориентировано на людей, не имеющих представления ни об этом языке, ни об HTML тегах, но, желательно (но не обязательно) хотя бы немного представляющих принципы программирования, циклы, условия "if" и т.п.
+
Здесь размещено небольшое пособие, помогающее начать писать программы на языке JavaScript. Пособие ориентировано на людей, не имеющих представления ни об этом языке, ни об HTML тегах, но, желательно, хотя бы немного представляющих принципы программирования, понятие о функциях, циклах, условиях "if" и т.п.
  
 
Цель данного пособия - не описать по всей строгости рассматриваемый язык, а помочь быстро начать писать на нем программы.
 
Цель данного пособия - не описать по всей строгости рассматриваемый язык, а помочь быстро начать писать на нем программы.
Строка 49: Строка 49:
 
* Атрибут "value" - надпись на кнопке
 
* Атрибут "value" - надпись на кнопке
 
* Атрибут "onclick" - код на языке JavaScript, который выполняется при нажатии на кнопку.
 
* Атрибут "onclick" - код на языке JavaScript, который выполняется при нажатии на кнопку.
 
== ==
 
 
  
 
== Файлы html и js ==
 
== Файлы html и js ==
Строка 58: Строка 55:
 
Давайте перепишем наш пример в соответствии с этим правилом.
 
Давайте перепишем наш пример в соответствии с этим правилом.
 
Откройте блокнот и скопируйте в него следующий код:
 
Откройте блокнот и скопируйте в него следующий код:
 +
<source lang="html" first-line="1">
 
<head>
 
<head>
     <script src="Example2.js"></script>
+
     <script src="program2.js"></script>
 
</head>
 
</head>
<body onload="main_Example2();">
+
<body onload="main_program2();">
 
     <input type="button" id="press_me_button" value="Нажми меня">
 
     <input type="button" id="press_me_button" value="Нажми меня">
 
</body>
 
</body>
 +
</source>
 +
Сохраните файл как "program2.html".
 +
 +
Откройте блокнот еще раз, и скопируйте в него код ниже:
 +
<source lang="javascript" first-line="1">
 +
function main_program2() {
 +
    press_me_button.onclick = function() {
 +
        alert("Нажимай нежнее");
 +
    };
 +
}
 +
</source>
 +
Сохраните файл как "program2.js", и запустите файл "program2.html".
 +
 +
Давайте разберем написанный код. Тег <nowiki><head></head></nowiki> чаще всего содержит различную информацию для браузера (например, кодировку), а также теги, подгружающие скрипты. В нашем случае загружается скрипт из файла "program2.js".
 +
 +
Тег <nowiki><body></body></nowiki> содержит основное содержимое страницы. В нашем случае - кнопку.
 +
 +
Строка <nowiki><body onload="main_program2();"></nowiki> означает, что как только страница загрузится в браузере - запустится функция "main_program2()" (она у нас записана в файле "program2.js").
 +
 +
Рассмотрим файл "program2.js".
 +
Первая строка - начало описания функции (той самой функции main_program2(), что вызывается в теге <body>).
 +
Вторая строка состоит из нескольких частей:
 +
<source lang="javascript" first-line="1">
 +
press_me_button.onclick = function() {
 +
</source>
 +
* press_me_button - это имя кнопки в памяти компьютера, задается в теге <input> атрибутом "id".
 +
* .onclick - здесь находится ссылка на функцию, которая должна запуститься, когда происходит нажатие на кнопку. Изначально эта функция пуста, поэтому далее мы её задаем.
 +
* = function() { - здесь как раз мы и начинаем задавать функцию.
 +
 +
Третья строка - непосредственно функция, которая выводит окошко с надписью.
 +
 +
На первый взгляд здесь намного больше кода, но когда ваши скрипты "разрастутся", работать в таком формате будет намного удобней.
 +
 +
== Элементы управления ==
 +
Мы уже рассмотрели такие элементы управления, как кнопки. Давайте узнаем, как еще можно взаимодействовать с пользователем.
 +
=== Переключатели ===
 +
Переключатели используются, чтобы предоставить пользователю выбор между несколькими вариантами. Например:
 +
 +
<htmlet nocache="yes">Tcvetkov/JavaScript_training_examples/Example_radio</htmlet>
 +
 +
Чтобы вставить переключатель, нужно добавить тег <input> с атрибутами type="radio" и name="name_of_group"
 +
 +
Пример:
 +
<input type="radio" id="radio_pic_1" name="pic" checked> Рыба <br>
 +
<input type="radio" id="radio_pic_2" name="pic"> Ярость <br>
 +
<input type="radio" id="radio_pic_3" name="pic"> Кот <br>
 +
<input type="button" value="Нарисовать">

Версия 01:57, 3 сентября 2014

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

Цель данного пособия - не описать по всей строгости рассматриваемый язык, а помочь быстро начать писать на нем программы.

Сначала скачайте и установите Mozilla Firefox или Google Chrome, с ними будет немного удобнее работать, чем со стандартным браузером.

Hello World!

Начнем с небольшого примера. Откройте блокнот, и скопируйте туда строку ниже:

<input type="button" value="Нажми меня" onclick="alert('Hello World!')">

Нажмите "Сохранить как" и введите название файла "program1.html". Найдите сохраненный файл и откройте его.

Должна появиться кнопка, при нажатии на которую появится окошко с надписью "Hello World!".

Вы написали первую программу с использованием языка разметки HTML и языка программирования JavaScript!

<toggledisplay status=hide showtext="Если возникли проблемы:↓" hidetext="Скрыть↑" linkstyle="font-size:default">

  • Если файл не открывается/открывается в блокноте, нажмите на него правой кнопкой мыши/Открыть с помощью/Firefox (или Google Chrome)
  • Если файл открывается в браузере Internet Explorer, то в нем нужно разрешить выполнение скрипта (вылезет сообщение с подтверждением), иначе при нажатии на кнопку ничего происходить не будет. Чтобы избежать этого, запускайте файл с помощью Firefox или Google Chrome (нажать на файл правой кнопкой мыши/Открыть с помощью/Выбрать программу/Firefox или Google Chrome, должна стоять галочка "Использовать выбранную программу для всех файлов такого типа").

</toggledisplay>


Теги

Мы будем использовать язык разметки HTML. Практически любая страница на языке HTML представляет собой набор тегов. Каждый тег имеет своё значение. Например, тег <hr> нарисует на странице черную горизонтальную линию (вы можете прямо сейчас попробовать написать его в файл program1.html, сохранить его и запустить).

Часто требуется не только открывающий тег, но и закрывающий, например:

<strong>Текст между двумя тегами — открывающим и закрывающим.</strong>

Текст, расположенный между этими двумя тегами, будет отображаться жирным шрифтом.

Атрибуты

Бывают случаи, когда тег нужно определенным образом "настроить". Для этого используются атрибуты тега. Например, тег:

<font size="1" color="red">Маленькие красные буквы</font>

имеет атрибуты "size" и "color", указывающие размер и цвет текста. Содержимое этого тега будет выглядеть так:

Маленькие красные буквы

Пример

Давайте еще раз рассмотрим первый пример:

<input type="button" value="Нажми меня" onclick="alert('Hello World!');">

Мы видим тег <input>, у которого заданы различные атрибуты.

  • Атрибут "type" - тип элемента управления, который появится на странице. В данном случае стоит "button", поэтому появляется кнопка.
  • Атрибут "value" - надпись на кнопке
  • Атрибут "onclick" - код на языке JavaScript, который выполняется при нажатии на кнопку.

Файлы html и js

Обычно для удобства принято отделять HTML-разметку от JavaScript кода. Разметка располагается в файле с расширением .html, код - в файле .js.

Давайте перепишем наш пример в соответствии с этим правилом. Откройте блокнот и скопируйте в него следующий код:

<head>
    <script src="program2.js"></script>
</head>
<body onload="main_program2();">
    <input type="button" id="press_me_button" value="Нажми меня">
</body>

Сохраните файл как "program2.html".

Откройте блокнот еще раз, и скопируйте в него код ниже:

function main_program2() {
    press_me_button.onclick = function() {
        alert("Нажимай нежнее");
    };
}

Сохраните файл как "program2.js", и запустите файл "program2.html".

Давайте разберем написанный код. Тег <head></head> чаще всего содержит различную информацию для браузера (например, кодировку), а также теги, подгружающие скрипты. В нашем случае загружается скрипт из файла "program2.js".

Тег <body></body> содержит основное содержимое страницы. В нашем случае - кнопку.

Строка <body onload="main_program2();"> означает, что как только страница загрузится в браузере - запустится функция "main_program2()" (она у нас записана в файле "program2.js").

Рассмотрим файл "program2.js". Первая строка - начало описания функции (той самой функции main_program2(), что вызывается в теге <body>). Вторая строка состоит из нескольких частей:

press_me_button.onclick = function() {
  • press_me_button - это имя кнопки в памяти компьютера, задается в теге <input> атрибутом "id".
  • .onclick - здесь находится ссылка на функцию, которая должна запуститься, когда происходит нажатие на кнопку. Изначально эта функция пуста, поэтому далее мы её задаем.
  • = function() { - здесь как раз мы и начинаем задавать функцию.

Третья строка - непосредственно функция, которая выводит окошко с надписью.

На первый взгляд здесь намного больше кода, но когда ваши скрипты "разрастутся", работать в таком формате будет намного удобней.

Элементы управления

Мы уже рассмотрели такие элементы управления, как кнопки. Давайте узнаем, как еще можно взаимодействовать с пользователем.

Переключатели

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

Вода Земля Огонь Воздух

Чтобы вставить переключатель, нужно добавить тег <input> с атрибутами type="radio" и name="name_of_group"

Пример: <input type="radio" id="radio_pic_1" name="pic" checked> Рыба
<input type="radio" id="radio_pic_2" name="pic"> Ярость
<input type="radio" id="radio_pic_3" name="pic"> Кот
<input type="button" value="Нарисовать">