Академия. Курс "JavaScript для начинающих". Стандартные объекты: массивы, дата и время, математические функции
Вторым курсом от @ontofractal и его проекта - Вторая Академия: запуск конспектов полных курсов, я выбрал курс "JavaScript для начинающих" от Антона Холина. Во время экспериментального этапа Академии был написан конспект первой части. Теперь же настала очередь продолжать учить JavaScript и закончить конспект. Сам курс представлен на образовательной платформе – Stepik.
О курсе
Данный курс поможет ознакомится с основами языка программирования JavaScript и подготовит вас к его практическому применению. В нём нет явного разделения на недели, как это принято. Он поделен на три части, каждая из которых содержит по 6 тем. В каждой из тем есть по несколько примеров кода, что очень помогает при изучении материала.
Стандартные объекты в JavaScript
Массивы
Массив — тип или структура данных в виде набора компонентов (элементов массива), расположенных в памяти непосредственно друг за другом.
Массивы в JavaScript являются нетипизированными, т.е. позволяют внутри одного массива хранить элементы разных типов. Таким образом это могут быть строки, числа или символы, но также объекты и массивы, и даже массивы массивов.
Важно запомнить, что массивы в JavaScript начинают отсчет индексов не с единицы, а с нуля.
Массивы в JavaScript могут увеличиваться или уменьшаться в размерах, то есть являются динамическими.
Существуют несколько способов создать массив:
Можно осуществлять запись и чтение из массива:
Добавление элементов массива
Удаление элементов массива
Удалить элемент массива можно с помощью оператора delete, как обычное свойство. Или можно воспользоваться командой установки длины массива - изменение свойства length, например - myArray.
length
= 4;
Также удалить элемент в конце массива можно с помощью метода pop() (противоположного методу push), который уменьшит длину массива на 1 и возвратит значение удаленного элемента.
Также есть метод shift() (противоположный методу unshift) который удаляет элемент в начале массива и сдвигает все элементы на 1 позицию в начало.
Не следует забывать и про остальные методы класса Array, такие как:
Array.join() - превращает все элементы массива в строки, объединяет их и возвращает получившуюся строку.
Array.reverse() - меняет порядок следования элементов в массиве на обратный и возвращает уже переупорядоченный массив.
Мы получим результат: ["Академия", "КиберФонд", "Голос"].
Array.concat() - возвращает (не изменяя исходного) новый массив с добавлением элементов, переданных в метод в качестве аргумента.
Array.slice() - возвращает подмассив из массива, от первого до второго (но не включая его) из указанных аргументов.
Есть очень удобный и универсальный метод для удаления и вставки новых элементов:
Array.splice() - универсальная функция, которая позволяет удалять элементы из массива и вставлять новые. В качестве аргумента в этот метод можно передать следующие данные:
- 1 аргумент - позиция элемента, с которого начинается действие метода.
- 2 аргумент - количество удаляемых элементов, начиная со стартовой позиции, указанной в предыдущем аргументе. (Если второе значение не указано, будут удалены все элементы, начиная с первого аргумента).
- 3 аргумент и последующие (любое количество) - элементы массива, которые будут добавлены начиная с позиции, указанной в первом аргументе.
Дата и время
При роботе с JavaScript когда-нибудь нам понадобится использовать дату и время, поэтому существует объект Date. Он создается с помощью конструктора Date() и существует несколько способов его создания:
Логично, что существует множество методов объекта Date.
Например, получение данных из объекта Date:
- getDay() - возвращает день недели от 0 до 6, 0 - воскресенье, 1 - понедельник и т.д.
- getTimeZoneOffset() - возвращает смещение часового пояса относительно UTC, в минутах с противоположным знаком
- getYear() - возвращает значение года минус 1900, к использованию не очень рекомендуется
- getFullYear() - возвращает значение года
- getMonth() - возвращает месяц, от 0 до 11
- getDate() - возвращает число месяца от 1 до 31
- getHours() - возвращает час, от 0 до 23
- getMinutes() - возвращает количество минут, от 0 до 59
- getSeconds() - возвращает количество секунд, от 0 до 59
- getMilliseconds() - возвращает количество миллисекунд, от 0 до 999
- getTime() - возвращает количество миллисекунд, прошедших с полуночи 1 января 1970г GMT.
Запись данных в объект Date:
- setYear() - устанавливает значение года минус 1900, к использованию не очень рекомендуется.
- setFullYear() - устанавливает значение года.
- setMonth() - устанавливает месяц, от 0 до 11
- setDate() - устанавливает число месяца от 1 до 31
- setHours() - устанавливает час, от 0 до 23
- setMinutes() - устанавливает количество минут, от 0 до 59
- setSeconds() - устанавливает количество секунд, от 0 до 59
- setMilliseconds() - устанавливает количество миллисекунд, от 0 до 999
- setTime() - устанавливает количество миллисекунд, прошедших с полуночи 1 января 1970гGMT.
Преобразование данных объекта Date:
- Date.parse() - преобразовывает строку с датой и возвращает количество миллисекунд, прошедших с полуночи 1 января 1970 г.
- toLocaleString() - Возвращает объект типа String содержащий дату в длинном формате, в соответствии с региональными настройками операционной системы, в которой запущен скрипт.
- toLocaleTimeString() - преобразовывает данные о времени в строку, используя настройки форматирования операционной системы, в которой выполняется скрипт.
- toLocaleDateString() - выполняет преобразование, аналогичное предыдущему, но с датой.
Математические функции
В программировании на любом языке никак не обойтись без вычислений и связанных с этим математических операций. Соответственно в JavaScript присутствует стандартный объект Math. В отличии от других объектов он не является конструктором.
Существует несколько констант объекта Math:
- Math.E - число е, основание натурального логарифма, константа Эйлера (Непера), приблизительно 2.718...
- Math.PI - число Пи, приблизительно равно, как известно, 3.1415926...
- Math.SQRT2 -квадратный корень из 2, приблизительное значение 1.414
- Math.SQRT1_2 -квадратный корень из 1/2, приблизительное значение 0.707
- Math.LN2 - натуральный логарифм 2, приблизительное значение 0.693
- Math.LN10 - натуральный логарифм 10, приблизительное значение 2.302
- Math.LOG2E - логарифм Е по основанию 2, приблизительное значение 1.442
- Math.LOG10E - логарифм Е по основанию 10, приблизительное значение 0.434
При необходимости можно использовать тригонометрические функции:
- Math.sin (x) - возвращает значение синуса аргумента (в радианах), от -1 до 1 естественно.
- Math.cos (x) - возвращает значение косинуса аргумента (в радианах), от -1 до 1.
- Math.tan (x) - возвращает численное значение для тангенса угла в радианах.
- Math.asin (x) - возвращает значение (в радианах) арксинуса для аргумента, который задается от -1 до 1
- Math.acos (x) - возвращает значение (в радианах) арккосинуса для аргумента, который задается от -1 до 1
- Math.atan (x) - возвращает значение арктангенса (из промежутка от -π2 до π2) для аргумента
- Math.atan2 (x, y) - функция называется арктангенс двух переменных. Она возвращает числовое значение между -π и π, и представляет собой угол между положительным лучом оси Х и точкой x,y.
Функции преобразования и сравнения:
- Math.min ([Значение1[,значение2[, ...]]]) - возвращает минимальное значение из аргументов.
- Math.max ([Значение1[,значение2[, ...]]]) - возвращает максимальное значение из аргументов.
- Math.floor (x) - возвращает наибольшее целое, меньшее или равное аргументу
- Math.ceil (x) - возвращает наименьшее целое, большее или равное аргументу
- Math.abs(x) - возвращает абсолютное значение числа, его еще называют "модуль"
- Math.round(x) - округляет число по правилам математики
Функции вычисления:
- Math.sqrt(x) - возвращает квадратный корень из аргумента
- Math.pow(base, exponent) - возводит число "base" в степень "exponent"
- Math.log(x) - вычисляет натуральный (по основанию е) логарифм числа
- Math.exp(x) - вычисляет экспоненту - значение числа е в степени аргумента "х"
- Math.random() - возвращает случайное число от 0 (включительно) до 1
Как видим, JavaScript предоставляет достаточное количество возможностей для проведения необходимых вам вычислений.
Что для меня было наиболее интересным и впечатляющим в данной неделе курса?
Существует множество методов объекта Date, с их помощью мы можем как получать все возможные данные из Date, так и записывать, преобразовывать их. JavaScript содержит довольно большое количество всевозможных функций для проведения различных вычислений.
Конспект составлен в рамках проекта Академия.
Условия участия и список курсов для изучения можно найти в соответствующем посте.
Курс по которому составлен текст можно найти здесь.
Спасибо за внимание! Подписывайтесь на мой блог.