- •12. Сценарии Javascript
- •Характеристики языка Javascript
- •Вставка сценария в html-документ
- •Переменные и типы данных
- •Операторы и управляющие структуры
- •Арифметические операторы
- •Логические операторы
- •Управляющие структуры
- •Встроенные объекты Javascript
- •Создание пользовательских объектов
- •Внешние объекты
- •Пример: карточная игра Blackjack
- •Правила игры
- •Разработка объектной модели
- •Вопросы
Вставка сценария в html-документ
Сценарий Javascript вставляется в HTML-документ при помощи тэга script.
<script type="text/javascript">
document.write('Hello from Javascript');
</script>
Сценарий может также храниться в отдельном файле.
<script type="text/javascript" src="myscript.js"></script>
Атрибут language элемента script описывает используемый язык сценариев (например, Javascript). Этот атрибут считается устаревшим и не рекомендуется к использованию.
Элементы script могут присутствовать в неограниченном числе внутри элементов head и body HTML-документа.
Переменные и типы данных
Javascript во многом наследовал синтаксис языка C, а это значит, что строчные и заглавные буквы в идентификаторах различаются. Нет необходимости специально объявлять переменные, хотя это является хорошей программистской практикой. Первое появление переменной автоматически является ее объявлением. Имя переменной должно начинаться с буквы или символа подчеркивания (_), последующими символами могут быть буквы, цифры и символ подчеркивания (_). Нельзя использовать в качестве имен переменных зарезервированные слова, такие как if, for, function, new. Для объявления переменной может использоваться необязательное слово var. Его использование обязательно только в том случае, если переменная объявляется внутри функции и пределом видимости этой переменной должна быть эта функция. Переменные, объявленные без использования var, являются глобальными. Примеры правильного объявления:
var test; //объявление без присвоения. Значение переменной undefined
a = 2;
var b2 = 3;
sum_a_b2 = a + b2;
Примеры недопустимых имен:
var 3piglets // начинается с цифры
var Smith&Wesson // символ & не допускается
var for // for является зарезервированным словом
В Javascript есть три простых типа данных: строка (String), число (Number) и логический тип (Boolean), два составных типа: объект (Object) и массив (Array) и два специальных типа: пустое значение (Null) и неопределенное значение (Undefined). Тип данных ассоциирован не с именем переменной, а с ее значением.
Строковые данные – любая цепочка символов, заключенная в одиночные (') или двойные кавычки ("). Одиночные кавычки могут содержаться в строках, заключенных в двойные кавычки и наоборот.
"простая строка"
'еще одна строка'
"don't worry"
Числовые данные подразделяются на целые и числа с плавающей запятой (фактически, точкой), но внутренним представлением данных всегда является число с плавающей запятой. Целые числа могут быть представлены в десятеричной, восьмеричной и шестнадцатеричной форме. Числа с плавающей запятой могут записываться в степенной форме.
|
Число |
Десятичное представление |
Описание |
|
0.0001, .0001, 1e-4, 1.0e-4 |
0.0001 |
Разные представления числа с плавающей запятой |
|
125 |
125 |
Целое |
|
0377 |
255 |
Восьмеричное представление целого |
|
0378 |
378 |
Десятичное целое. Восьмеричное представление допускает лишь цифры от 0 до 7 |
|
0xff |
255 |
Шестнадцатеричное представление |
|
0x3e7 |
999 |
Шестнадцатеричное представление |
|
00.001 0x0.001 |
- |
Ошибка компиляции. Восьмеричные и шестнадцатеричные числа могут быть только целыми |
Данные логического (Boolean) типа принимают лишь одно из двух значений: true (истина) или false (ложь).
y = (x == 10); //истина, если x равно 10
Чаще всего логические данные или выражения, возвращающие логические данные, используются в управляющих структурах:
if (x == 10)
a = c; // выполняется, если x равно 10
else
a = b; // выполняется в противном случае
В качестве логического может быть использовано любое выражение, например, число, строка, массив или объект, при этом, если значение равно 0, пустой строке, пустому (не содержащему элементов) массиву, пустому объекту (Null) или неопределенному значению (undefined), то условие оценивается как false (ложь), в противном случае как true (истина). Например, две следующие конструкции эквивалентны.
if (x != 0)//если x не равен 0
a = 1;
if (x)
a = 1;
Массив представляет собой данные, доступ к элементам которых осуществляется по индексу. Массивы в Javascript создаются следующим образом:
var a = new Array();// создает новый пустой массив
var b = new Array(N);//где N – положительное целое.
//Создает массив из N пустых элементов
var c = new Array(elem1, elem2 ...);
//создает массив из перечисленных элементов.
//Элементы должны существовать заранее.
var d = [elem1, elem2 ...];
//создает массив из перечисленных элементов
var e = [];// создает новый пустой массив
Индексация массивов всегда начинается с нуля (0), то есть последний существующий элемент имеет индекс на 1 меньше длины массива.
document.write(c[0]); //будет выведен первый элемент массива c
a[0] = 1; // присвоение значения первому элементу массива a
a[10] = 10; // присвоение значения одиннадцатому элементу массива a
// элементы 1 – 9 заполняются пустыми значениями.
// длина массива a.length равна 11
document.write(a[10]); // печатает 10
document.write(a[11]); //печатает пустую строку и не меняет длину массива
Нет необходимости переопределять длину массива. Присвоение значения несуществующему элементу массива автоматически создает этот элемент (если его не было) и заполняет массив пустыми элементами между последним существовавшим и вновь добавленным элементом.
