Академия. Курс "JavaScript для начинающих". Стандартные объекты: функции, объекты, строки
Вторым курсом от @ontofractal и его проекта - Вторая Академия: запуск конспектов полных курсов, я выбрал курс "JavaScript для начинающих" от Антона Холина. Во время экспериментального этапа Академии был написан конспект первой части. Теперь же настала очередь продолжать учить JavaScript и закончить конспект. Сам курс представлен на образовательной платформе – Stepik.
О курсе
Данный курс поможет ознакомится с основами языка программирования JavaScript и подготовит вас к его практическому применению. В нём нет явного разделения на недели, как это принято. Он поделен на три части, каждая из которых содержит по 6 тем. В каждой из тем есть по несколько примеров кода, что очень помогает при изучении материала.
Стандартные объекты в JavaScript
Функции в JavaScript
Функции нужны нам, чтобы избавить программу от многочисленного дублирования кода. Записав последовательность действий (команд) один раз, мы сможем вызвать ее сколько угодно раз.
Функции в JavaScript - это блоки кода, которые имеют свое имя, и именуются по тем же правилам, что и переменные (кроме анонимных), и могут быть вызваны по этому имени. В них передается некоторые параметры, которые нужны нам для вычислений.
Есть два вида функций в JavaScript:
Создание (определение) функции начинаем с ключевого слова:
Пример типичного «Hello world»:
Для вывода на экран фразы вызываем функцию:
Пример функции с параметром и ее вызов:
printText("Hello World!");
Если же нам необходимо вернуть результат роботы функции - мы используем ключевое слово «return»:
Причём использование «return» не есть обязательным элементом, но использовать его мы можем сколько нам необходимо.
Любопытными являются рекурсивные функции, в которых функция вызывает сама себя. Логично, что требуется какое-то условие прекращения вычислений, а иначе рекурсия и возможное зависание программы.
Объекты
Раз JavaScript – объектно-ориентированный язык программирования, то в нём присутствуют «объекты», то есть особые виды данных, обладающие свойствами, описывающими их состояние и методами, позволяющими работать с ними. Это такие себе массивы с набором пар «ключ:значение»
Свойства объекта - это некоторые значения, связанные с этим объектом.
Синтаксис доступа к свойству объекта выглядит следующим образом:
имяОбъекта.имяСвойства
Допустим у нас есть объект String. Раз есть строка и текст, значит есть ее длина, то есть свойство объекта. А значит мы можем получить его значение.
Методы - это действия, которые могут быть выполнены над объектом. Они могут присутствовать у объекта, а могут и не присутствовать.
Синтаксис доступа к методу выглядит следующим образом:
имяОбъекта.имяМетода();
Есть два варианта создания объекта:
А добавить добавить новое свойство можно как сразу:
Так и таким образом:
person.name = "Ivan"
Добавление метода в объект - это фактически присвоение функции некоторому свойству объекта.
Строки
Я упоминал объект String чуть раньше, теперь же рассмотрим работу над строковыми объектами.
У объекта String есть всего лишь одно стандартное свойство – длина. Показывает количество символов в строке (для пустой строки будет 0). Обозначается словом «.length».
Методов же у объекта String значительно больше и они делятся на группы:
Методы доступа к символам объекта String:
Доступ к символам объекта String осуществляется двумя способами.
Основной - доступ через метод .charAt
Второй способ доступа к символам - это обращение к строке как к массиву
На объектом String можно производить множество действий:
Слияние и разделение строк
concat(string1, string2, ..., stringN) - объединяет строки вместе
split('разделитель') - разделяет строки на массив подстрок по указанному разделителю
Сoncat - объединение строк.
В результате значение переменной result станет "первая строка вторая строка третья строка"
Split - разбиение строки на массив значений по разделителю.
Преобразование регистра
- toLowerCase() - преобразовывает все буквы в строке к нижнему регистру
- toUpperCase() - преобразовывает все буквы в строке к верхнему регистру
- toLocaleLowerCase() - преобразовывает все буквы в строке к нижнему регистру
- toLocaleUpperCase() - преобразовывает все буквы в строке к верхнему регистру
Возвращение части строки
- substring(indexA[, indexB]) - возвращает часть строки начиная с позиции indexA, но не включая indexB
- slice( indexA[, indexB] ) - возвращает часть строки начиная с позиции indexA, но не включая indexB
- substr(indexA[, length]) - возвращает часть строки начиная с позиции indexA, в количестве length
- replace(regexp, newSubString|function) - возвращает новую строку после замен, указанных в regexp, или функцию, которая ее возвращает
Поиск подстроки в строке
- indexOf(searchValue[, fromIndex]) - ищет подстроку searchValue начиная с позиции fromIndex
- lastIndexOf(searchValue[, fromIndex]) - ищет последнюю подстроку searchValue начиная с позиции fromIndex
- search(regExp) - проверяет - есть ли совпадение с аргументом, результат true или false
- match(regExp) - выдает массив всех совпадение с аргументом
Что для меня было наиболее интересным и впечатляющим в данной неделе курса?
Функции в JavaScript, да и в целом, очень полезная вещь, которая при правильном использовании поможет сократить код программы и уменьшить количество возможных ошибок. Объекты также крайне полезная вещь со множеством способов применения.
Конспект составлен в рамках проекта Академия.
Условия участия и список курсов для изучения можно найти в соответствующем посте.
Курс по которому составлен текст можно найти здесь.
Спасибо за внимание!