Книга JavaScript/Спецификация языка: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 228: Строка 228:
}
}
</source>
</source>
''case'' сравнивает переменную указанную в ''switch([переменная])''. ''break'' прерывает выполнение ''case'' или ''default'', т. е. если он будет отсутствувать при выполнении хотя бы первого case выполнятся все последующие. ''default'' выполнится только если ни один из операторов ''case''.
''case'' сравнивает переменную указанную в ''switch(переменная)''. ''break'' прерывает выполнение ''case'' или ''default'', т. е. если он будет отсутствувать при выполнении хотя бы первого ''case'' выполнятся все последующие и ''defalult''. ''default'' выполнится только если ни один из операторов ''case''.


{{BookCat}}
{{BookCat}}

Версия от 15:31, 6 ноября 2014

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

Переменные

Переменные в JavaScript назначаются двумя способами:

  1. С помощью оператора «=»: ''переменная'' = ''значение''. Пример:
x = 1
  1. С помощью ключевого слова var и оператора «=»: var ''переменная'' или var ''переменная'' = ''значение''. Пример:
var x
x = 1
//или
var x = 1

Второй способ отличается от первого тем, что можно назначать сразу несколько переменных:

var x = 1, y = 2

А так же тем, что второй способ определяет значение переменной только в своем блоке кода. Если присвоить значение переменной, не объявленной с помощью инструкции var, JavaScript неявно объявит эту переменную за вас. Однако переменные, объявленные таким образом, всегда создаются как глобальные, даже если они работают только в теле функции.

В именах переменных могут использоваться латинские буквы (a…z, A…Z), цифры (0…9), знак доллара ($) и знак подчёркивания (_), при этом нельзя использовать цифру первой. Необходимо помнить, что JavaScript — регистрозависимый язык, и переменные X и x, будут считаться различными.

Операторы

Комментарии

Для того, чтобы интерпретатор игнорировал часть программного кода, например, пояснения, используют специальные операторы.

1. Оператор «//» используют, чтобы текст расположенный справа от оператора до конца строки сделать комментарием: ''программа'' // ''комментарий''. Пример:

// Программный код
x = 3   // Присвоение переменной x значения 3
y = 5   // Присвоение переменной y значения 5
// Программный код

2. Операторы «/*» и «*/» используют, чтобы текст расположенный внутри операторов сделать комментарием: ''программа'' /* ''комментарий'' */ ''программа''. Пример:

x = 3   /* Присвоение переменной x значения 3,
           а переменной y — 5: */
y = 5

Арифметические

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

Существует 3 типа данных:

  • строковый (string) — определяется двойными или одинарными кавычками и используется для символьных данных,
  • числовой (number) — определяется отсутствием кавычек и используется для чисел (не символов),
  • логический (boolean) — определяется отсутствием кавычек и используется для значений true=1 или false=0.

Также существуют специальные типы данных:

  • null — отсутствие данных,
  • объект (object) — программный объект (ссылка на него),
  • функция (function) — определение функции.
Оператор Название Пример Результат
+ Сложение x + y Сложение двух чисел или склеивание двух строк
- Вычитание x - y Вычитание y из x или удаление строки y из строки х
* Умножение x * y Перемножение двух чисел
/ Деление x / y Деление числа x на число y
% Деление по модулю (остаток) x % y Остаток от деления числа x на число y
++ Инкремент (увеличение на 1) x++ Эквивалентно x+1
-- Декремент (уменьшение на 1) x-- Эквивалентно x-1

Примеры использования:

6 + 3    // результат 9
6 - 3    // результат 3
6 * 3    // результат 18
6 / 3    // результат 2
5 % 3    // результат 2
6++      // результат 7
6--      // результат 5

Можно использовать и с переменными:

x = 3           // значение x — 3
y = 5           // значение y — 5
z = x + y       // значение z — 8

Возможно использование в выражениях со скобками:

4 + 5 * 2       // результат 14
(4 + 5) * 2     // результат 18

В арифметических операциях логические значения считаются: true — 1, false — 0:

5 + true     // результат 6
5 + false    // результат 5
4 * true     // результат 4
4 * false    // результат 0
true + true  // результат 2
true + false // результат 1

Оператор сложения можно использовать для склейки строк:

"Java" + "Script"  // результат "JavaScript"
a = "Java"; 
b = "Script"; 
a + b; // результат "JavaScript"
"Уровень" + 5; // результат "Уровень5"
"Уровень" + true; // результат "Уровеньtrue"
"1" + "2"; // результат "12"

Другие арифметические операторы со строками дают значение NaN:

"J" * 5; // результат NaN
"J" - 5; // результат NaN
"J" - "J"; // результат NaN

Если вы не знаете, то NaN — это значение переменной когда совершается неккоректное действие например a = 1 * "Hello! ". NaN не равен ни одному числу, даже самому себе.

Основные конструкции

Сами по себе синтаксические конструкции бесполезны, поэтому для их использования следует знать встроенные функции.

Функции

JavaScript как и многие другие языки программирования построен на фунциях. Синтаксис:

function имя_функции(параметры)
{
   операторы
   return; 
}

Оператор return возвращает значение, в следующем примере это будет показано. Параметры (или аргументы) это такие переменные значение которых мы задаём при вызове функции:

function plus(a,b)
{
   return (a + b); //Мы возвращаем сумму параметров a и b. 
}
function myFunction()
{
   var c = plus(1,2); //Переменная c получит значение 3. 
}

Условия

Условия позволяют выполнить один или несколько операторов только при выполнение определённом условия. Синтаксис:

if(условие)
{
   операторы
}
else //Иначе, т. е. если условие не выполнилось. 
{
   операторы
}

Циклы

while

Цикл будет продолжаться до того момента когда условия перестанет выполнятся. Синтаксис:

while(условие)
{
   операторы
}

do…while

Циклы do…while отличаются от while только тем, что условие проверяется в конце выполнение блока. Синтаксис:

do
{
   операторы
}
while(условие)

for

Синтаксис:

for(var название_переменной = начальное_значение; условие; шаг цикла)
{
   [операторы]
}

В циклах for создаётся отдельная переменная, задаётся условие с этой переменной при котором будет продолжатся выполнение цикла. И при каждом выполнении производится какая либо операция. Например:

for(var i = 0; i <= 10; i++)
{
   операторы
}
//Аналог для цикла while
var i; 
while(i <= 10)
{
   операторы
   i++; 
}

Подробное разъяснение: мы создаём переменную i и продолжаем выполнять цикл пока i меньше или равно 10 и прибавляем к ней 1 (инкремент), соответственно цикл выполнится 10 раз.

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

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

var a; 
switch(a)
{
case 1: //Если a = 1
   операторы
   [break; ]
case 2: //Если a = 2
   операторы
   [break; ]
default: //Если a = 3
   операторы
   [break; ]
}

case сравнивает переменную указанную в switch(переменная). break прерывает выполнение case или default, т. е. если он будет отсутствувать при выполнении хотя бы первого case выполнятся все последующие и defalult. default выполнится только если ни один из операторов case.