
- •Лабораторная работа №4 Основы синтаксиса JavaScript. Математические функции JavaScript. Объект Math.
- •1. Методические указания
- •2. Теоретические сведения
- •Переменные в JavaScript
- •Условные операторы
- •Оператор ?
- •Оператор-переключатель switch
- •Операторы цикла
- •Объекты JavaScript
- •Встроенный объект Array. Массивы в JavaScript.
- •Свойство объекта Array
- •Методы объекта Array
- •Объект Math
- •Объект Math
- •Задание №11
- •Задание №12
- •3. Содержание отчёта
- •4. Контрольные вопросы
Объекты JavaScript
Язык JavaScript является объектно-ориентированным. Объекты JavaScript представляют собой наборы свойств и методов. Можно сказать, что свойства объектов - это данные, связанные с объектом, а методы - функции для обработки данных объекта.
В языке JavaScript имеется три вида объектов: встроенные объекты, объекты брaузера и объекты, создаваемые программистом.
JavaScript поддерживает следующий набор встроенных объектов: Array, Boolean, Date, Global, Function, Math, Number, String.
Встроенный объект Array. Массивы в JavaScript.
Массив в JavaScript является экземпляром встроенного объекта Array. Нумерация элементов в массиве начинается с нуля. Создать массив можно тремя способами:
var a1 = new Array();
var a2 = new Array(3);
var a3 = new Array('раз','два','три');
a1 - массив, в котором нет ни одного элемента. a2 - массив из трех элементов с неопределенным (undefined) значением. a3 - массив, заданный списком своих элементов.
Число элементов в массиве можно изменить, просто задав значение соответствующего элемента:
a3[5]='шесть';
Типы данных элементов массива в JavaScript могут быть различными:
a3[3]=4; a3[4]=5; a3[7]=false;
Разумеется, необходимо предусмотреть корректную работу с массивом, содержащим элементы с разными типами данных.
Для создания многомерного массива каждому элементу массива нужно присвоить другой массив:
var myArray = new Array(2);
for (i=0; i<3; i++){
myArray[i] = new Array(2);
}
Так можно создать массив, состоящий из трех строк и трех столбцов.
Свойство объекта Array
length. Число элементов массива.
Методы объекта Array
concat( ). Слияние двух массивов. Через параметр передается имя второго массива: c=a.concat(b); Здесь элементы массива b добавляются к элементам массива a.
join( ). Слияние элементов массива в строку. Через параметр передается разделитель элементов. По умолчанию разделителем служит запятая. s=c.join('; ');
reverse( ). Меняет порядок элементов массива на обратный.
slice( ). Выделяет часть из массива. В качестве параметров передаются значения начального и конечного индексов, между которыми происходит выделение. При этом элемент массива с конечным индексом в результат не войдет. Следует помнить, что индексы отсчитываются от нуля.
Объект Math
Объект Math - это встроенный в JavaScript объект, содержащий математические константы и функции. Вам нет необходимости создавать объект Math, поскольку он уже создан и готов к использованию. Свойства объекта Math содержат математические константы, а методы - математические функции. Поскольку свойства и методы объекта Math управляются с помощью набора всевозможных операторов, очень удобно использовать вместе с этим объектом ключевое слово with.
Таблица математических операторов
+ (плюс) |
Сложение |
2 + 8 7 + 3 |
10 10 |
- (минус) |
Вычитание |
2 - 8 7 - 3 |
-6 4 |
* (звёздочка) |
Умножение |
2 * 8 7 * 3 |
16 21 |
/ (слэш)
|
Обычное деление
|
8 / 2 7 / 3 |
4 2,333 |
% (процент)
|
Деление по модулю |
8 % 2 7 % 3 |
0 1 |
++ (два плюса)
|
Единичный инкремент |
8++ 7++ |
9 8 |
-- (два минуса) |
Единичный декремент |
8-- 7-- |
7 6 |
Интересная особенность JavaScript - возможность выполнять арифметические операции над переменными различного типа. В этом случае интерпретатор самостоятельно выполняет приведение типов и выполняет указанную операцию. В процессе ведения типов используются следующие правила:
Если один из операндов - строка, то все остальные операнды приводятся к строковому виду.
var1 = "Дядя"
var2 = "Ваня"
result = var1 + " " + var2
// result = "Дядя Ваня"
mixed = var2 + 100
// mixed = "Ваня100"
Все логические операнды приводятся к числовому виду, кроме случаев, когда все операнды в выражении логические. При этом true приводится к "1", а false - к "0". При сочетании логических операндов со строками - все операдны переводятся в текстовый вид.
var1 = true
var2 = true
result = var1 + var2
// result = 2
mixed = var2 + 100
// mixed = 101
var3 = "строка:"
str = var3 + var1
// str = "строка:true"
Если приведение типов выполнить не удалось - результатом выражения будет "NaN" (например, при попытке разделить строку на что-либо).
var1 = "Дядя"
var2 = "Ваня"
result = var1 / var2
// result = "NaN"
mixed = var2 * true
// mixed = "NaN"
Однако на начальном этапе лучше воздержаться от приведения типов и фокусов с преобразованием результатов. Это избавит вас от значительного числа ошибок.