Нам нужно регулярное выражение, которое просто говорит есть ли заглавная буква в строке или её там нет. Для этого нужно использовать дополнительный синтаксис шаблона для работы с пространством UNICODE. RegExp(/\p{Lu}/,'u').test("http://Forumserver.twoplustwo.com") true RegExp(/\p{Lu}/,'u').test("http://forumserver.twoplustwo.com") false Подробнее функционал дизъюнкции описан в публикации «JavaScript | Проверка на символ алфавита человеческого языка«. Информационные […]
FrontEND
И вот однажды ты можешь задаться именно этим вопросом: «Как вручную разрешить JavaScript Обещание (Promise), не прописывая заранее логику в функции исполнителя?». Всё что тебе нужно, это вытащить наружу функцию разрешения из функции исполнителя для конкретного объекта Обещания. Для этого нужно создать любой внешний контейнер, будь то имя переменной или […]
Как приостановить выполнение алгоритма функции на некоторое время? В JavaScript можно создавать «ждущие функции». Это такие функции, которые умеют останавливать свою работу в определённых местах своего тела, ожидая следующей команды (события) или результата Обещания. Одной из реализаций «ждущей функции» в JavaScript является использование ключевого слова «async» перед ключевым словом «function«. […]
Как в редакторе Visual Studio Code с клавиатуры ввести символ табуляции вместо четырёх пробелов? Удерживая клавишу ALT нужно на мини-клавиатуре с цифрами (NUMPAD) нажать последовательно клавиши «0», «9». После этого появится стрелочка, смотрящая вправо, вместо четырёх точечек.
Асинхронный цикл — это то место, где можно попасть в ситуацию замедления работы приложения на JavaScript. Неправильное использование языковых конструкций async await может увеличить время ответа приложения, при «ждущих» запросах в базу данных, например. В результате пользователь долго будет ждать свой контент и возможно вы потеряете его, вместе с его […]
Есть массив из чисел (идентификаторов), в котором значения элементов упорядочены по возрастанию: let arr = [1,2,3,4]; Мы хотим создать все возможные пары чисел и сложить их в новый массив: let new_arr = []; Делаем генерацию через цикл: for(let x of arr){ for(let y of arr){ new_arr.push([x,y]) } } В первом […]
Текст в массив слов при помощи JavaScript Представим себе такую задачу. У нас есть текст на HTML-странице (в документе). Мы хотим получить этот текст силами JavaScript, а потом достать из текста слова и разложить их как элементы массива. Мы знаем, что слова в текстах отделяются друг от друга пробелами (минимальное […]
Работая с JavaScript или NodeJS важно понимать как себя ведут «Отклонённые Обещания». Я говорю о таких объектах Promise, где в переданной функции «Исполнитель» была вызвана функция отклонения — reject(). То есть когда ветвление алгоритма привело нас к reject(), а не к resolve(). Называть функцию «Исполнитель» мы можем как угодно (здесь […]
Самый простой способ — это использовать рекурсивную функцию с гарантированным условием выхода через 100000 итераций. Функция вызывает сама себя. function f(x){ x > 100000 ? console.log('Готово') : f(x+1) } f(1) Мы используем «Условный Оператор» для возвращения из функции результата. Результат работы — Ошибка «RangeError: Maximum call stack size exceeded» : […]
Как проверить, является ли символ строки буквой какого-либо алфавита любого человеческого языка? В какой-то момент работы с регулярными выражениями появляются задачи по определению принадлежности символа строки к букве какого-то языка. Причём хочется анализировать любые строки, без акцента на какой-то конкретный язык. Ведь в современных публикациях в сети интернет легко можно […]
Basic Multilingual Plane (BMP) — Базовая многоязычная плоскость. Встречается в подразделе «Pattern Semantics» у раздела «RegExp (Regular Expression) Objects«. В общем нужно знать то, что есть два вида написания шаблона регулярного выражения в JavaScript: BMP pattern Unicode pattern Примечание 2 Например, рассмотрите шаблон, выраженный в исходном тексте как один символ […]
Знак доллара «$» в JavaScript может использоваться в разных ситуациях. Самое простое — им можно называть имена переменных. Глобальный объект и ключ знак доллара в свойстве, объявленный через var JavaScript позволяет задавать имена переменных, используя в качестве первого символа знак доллара — «$«. В результате, если мы объявляем переменную […]
Оглавление Введение Где можно найти документацию по работе оператора typeof из JavaScript? typeof — это зарезервированное слово в JavaScript Оператор typeof и примитивные значения в JavaScript? Главная особенность работы оператора typeof в JavaScript Оператор typeof и функция в JavaScript? constructor.name вместо typeof Введение Полезность или бесполезность оператора typeof в […]
Введение Прежде чем проверять существование имени переменной, нужно чётко понимать разницу между способами объявления этой переменной. Если говорить точнее, то нужно различать способы регистрации нового идентификатора привязки. Я говорю о таких словах как var, let, const. Учитывайте то, что только слово var является зарезервированным словом, а слова let и const не […]
Оглавление Вступление к публикации Как удалить собственное свойство объекта с строковым ключом JavaScript? Как удалить собственное свойство объекта с символьным ключом JavaScript? Как удалить наследованное свойство объекта JavaScript? Какое собственное свойство объекта JavaScript нельзя удалить? Код в строгом режиме и удаление собственного свойства объекта JavaScript Как использовать логические ответы оператора […]
Как отцентровать блок DIV внутри другого DIV по вертикали и горизонтали силами JavaScript? Идея именно в том, чтобы сделать это при помощи языка программирования JavaScript, а не через HTML-разметку или CSS-разметку. Так как мы работаем с JavaScript, то нас будут интересовать объекты интерфейсов прикладного программирования, которые встроены в браузер. Они […]
Когда мы переходим на уровень языка программирования JavaScript с уровня HTML, то все манипуляции для динамического формирования разметки ложатся на знание прикладных интерфейсов программирования и их объекты (классы объектов). Многие начинающие разработчики приходят к JavaScript из обычной вёрстки HTML. Это значит, что они уже касались стандарта, который отвечает за стилевое […]
Оператор return относится к операторам «внезапного завершения» функции. Это значит, что кроме return существуют другие операторы, которые могут внезапно завершить выполнение функции. Список операторов «внезапного завершения» по стандарту ECMAScript: break continue return throw Пример функции, которая завершается из-за оператора throw перед оператором return. function f_throw(){ throw(10); return 20; }; Скриншот […]
Что нужно знать до создания HTML-таблицы силами JavaScript? Так как мы хотим создавать таблицу в браузере, то по сути у нас есть два пути к решению задачи: Либо мы пытаемся создать СТРОКУ, которая будет написана синтаксисом HTML и которая будет представлять из себя строковый вид таблицы в HTML-разметке. Либо мы […]
Прежде всего нужно помнить, что функции в JavaScript могут быть двух видов: Обычные функции (нормальные, которые оформляются через ключевое слово function) Стрелочные функции (с урезанными возможностями, которые оформляются в виде ()=>1) На что это влияет? В стрелочных функциях не определяются локальные привязки для arguments, super, this, or new.target. Для получения имени функции […]
Обращение к любому элементу массива осуществляется при помощи квадратных скобок и целочисленного значения индекса элемента. Очень часто в программировании на JavaScript нужно получать первый элемент массива или последний элемент массива. Это популярные задачи т. к. на них работает большое количество логики алгоритмов. Но как обратиться к любому элементу массива? Например, […]
В JavaScript можно деструктурировать не только объекты, но и массивы. Существует формат присвоения, при помощи которого можно создавать имена новых переменных так, чтобы значения в этих переменных подхватывались из значений самого массива. В данном случае последовательность будет иметь значение. Это накладывает ряд ограничений на использование деструктуризации массива. let arr = […]
У нас есть строка с пробелами, написанная на JavaScript: let str = ' оди н д ва т ри '; Нам нужно удалить все возможные пробелы из этой строки, чтобы оставшиеся символы слиплись в одну последовательность. Как это сделать? Проще всего воспользоваться регулярным выражением и написать шаблон для сопоставления […]
Обычный вариант записи присвоения имён переменных В JavaScript существует формат присвоения, при помощи которого можно получать имена новых переменных так, чтобы значения в этих переменных подхватывались из одноимённых ключей самого объекта. В чём суть? Представим, что у нас имеется объект вида: let obj = {aa: 1, bb:2}; В обычной ситуации, […]
У языка JavaScript существует возможность преобразовывать разные типы данных друг в друга. Чтобы превратить объект на массив нужно обратиться к конструктору класса Object и вызвать у него метод entries(), где в качестве параметра передать интересующий нас объект. Пусть у нас будет такой объект для трансформации: let obj = {a:2.3, b:["efim","360","ru"], […]
Представим себе такую задачу. Мы хотим передавать в функцию одно число. Внутри тела функции мы хотим получить: сначала результат сложения этого числа с числом 10, а потом хотим получить результат умножения этого числа на число 3. Как это сделать в JavaScript? В чём может быть трудность возвращения нескольких результатов […]
Прежде чем погружаться в тему публикации, давайте проясним два момента: Функция может не иметь оператор return в своём теле Функция может иметь хотя бы один оператор return в своём теле То есть, существует всего два варианта. Функция что-то возвращает в определённый момент своей работы или не возвращает. Видео про […]
Есть набор символов, которые лежат в массиве: let myarr = ['а','б','в','г','д','е','ё','ж']; Нам нужно создать такую функцию при помощи JavaScript, чтобы она могла принимать этот набор символов и нужную длину слова. На выходе функция должна возвращать случайное слово. Решение задачи Нам нужна внутренняя функция, которая будет возвращать из передаваемого массива […]
Зачем переписывать детей HTML-элемента в DOM? Речь идёт о перемене мест детей между друг другом или полная их замена. У нас есть какой-то HTML-элемент на странице в браузере. У этого элемента есть несколько детей одного типа. Для простоты восприятия, представьте себе таблицу у которой есть столбцы и записи. Так вот, […]
Если не выполняются команды из редактора в веб-интерфейсе pgAdmin 4, то вероятнее всего исчерпаны все свободные подключения клиентов для СУБД PostgreSQL. Куда смотреть? В первую очередь нужно заглянуть на главную панель pgAdmin 4 у нужной базы данных. Раскрываем слева меню напротив нужного сервера. Выбираем нужную базу данных по имени. […]
У нас есть строка: let str = `йц3уке рпар фыв3йцу иа яы1у й1ыс ыв4 аватц` Мы хотим удалить из этой строки символы «й«, «3» и «ц«. Как это сделать? Удаление определённых символов строки через регулярное выражение в JavaScript Мы можем литерально записать наше регулярное выражение и передать его в […]
Работая с данными, в какой-то момент понимаешь, что не всё можно представить в виде линейной информации. Например, если мы говорим о текстах, то это обычные строки JavaScript. Что я имею ввиду? Смысл строк в том, что есть какой-то символ(или символы) и есть какая-то определённая последовательность этих символов. По сути, это […]
По стандарту HTML мы знаем, что в браузере можно рисовать любую графику. За это рисование отвечает HTML-элемент canvas. Для манипулирования с пикселями, текстами, линиями и путями мы используем JavaScript. Холст canvas представляет собой некоторое пиксельное пространство на котором размещаются «контексты рисования». По сути все изображения состоят из разных «контекстов рисования». […]
Что такое массив из массивов? Если смотреть на задачу со стороны визуализации, то массив из массивов представляет собой таблицу со столбцами и записями. Поэтому когда мы хотим перевернуть массив из массивов на девяносто градусов, то фактически мы хотим наклонить таблицу в правую или левую сторону — повернуть по часовой стрелке […]
Мы работаем с HTML-страницей в браузере и хотели бы в HTML-элементе «canvas» нарисовать красную линию, которая расположена диагонально относительно самого блока холста. Как это сделать? Для создания объектов мы используем язык JavaScript и интерфейсы объектной модели документа DOM. Пример HTML-файла с JavaScript кодом, который рисует красную диагональную линию на […]
Как найти пересечение между двумя массивами JavaScript? У нас есть два массива с уникальными наборами чисел: let arr1 = [1,2,3,4,5,6]; let arr2 = [4,5,6,7,8,9]; В каждом массиве число встречается ровно 1 раз. Мы хотим получить такие числа, которые есть и в первом массиве и во втором. Как это сделать? […]
Как вызывать функцию, в теле которой есть ключевое слово this, в контексте какого-то объекта? Обычно функции, которые используют ключевое слово this можно встретить при создании класса в JavaScript. Это распространённая практика. При описании класса просто невозможно не использовать this. Классы для того и создают, чтобы из них рождались какие-то объекты. […]
Когда мы говорим о HTML в контексте JavaScript, то подразумеваем объекты, которые описывают HTML-элементы. Такое описание называется объектной моделью документа — DOM (Document Object Model). Когда мы говорим о CSS в контексте JavaScript, то подразумеваем объекты, которые описывают CSS-таблицы. Такое описание называется объектной моделью каскадных таблиц стилей — CSSOM (Cascading […]
У нас есть простой документ со скриптом, в котором мы создали HTML-элемент textarea силами JavaScript: <script> let te = document.createElement(‘textarea’); te.setAttribute(‘id’, ‘te’); let h1 = document.getElementsByTagName(‘h1’)[0]; h1.after(te); </script> Созданный […]
Атрибуты содержимого Элемент может иметь все глобальные атрибуты. Элемент может иметь собственные атрибуты: autocomplete — Подсказка для функции автозаполнения формы cols — Максимальное количество символов в строке dirname — Имя элемента управления формы, используемого для отправки направления элемента при отправке формы disabled — Отключено ли управление формой form — Связывает […]
Скрипт создания HTML-элемента textarea и добавление его в текущий документ после заголовка h1 <script> let te = document.createElement(‘textarea’); te.setAttribute(‘id’, ‘te’); let h1 = document.getElementsByTagName(‘h1’)[0]; h1.after(te); </script> Сначала мы обращаемся […]
Есть два объекта: let obj1 = {a:1}; let obj2 = {}; Мы хотим проверить эти объекты на пустоту. Как это сделать? Как проверить, что объект пустой и у него нет свойств? Под словом «пустой» мы подразумеваем такой объект, в котором нет ключей и значений — то есть нет свойств. […]
2.6.2.1 Интерфейс HTMLAllCollection 3.1.4 Отчёт о статусе загрузки документа 4.8.5 Элемент iframe 4.10.11 Элемент textarea 4.12.5 Элемент canvas 4.12.5.1.1 Замечания по реализации 4.12.5.1.2 Состояние холста 4.12.5.1.3 Стили линий 4.12.5.1.4 Стили текста 4.12.5.1.5 Строительные пути 4.12.5.1.11 Нанесение текста на растровое изображение 4.12.5.1.15 Манипуляции с пикселями 4.12.5.1.17 Сглаживание изображения […]
Когда браузер получает строку с HTML-разметкой с сервера, тогда он пытается построить объектную модель документа — «DOM«. Нетрудно догадаться, что этот процесс будет занимать некоторое время. Чем больше HTML-разметка и чем глубже вложенность HTML-элементов друг в друга, тем дольше браузер будет строить объект DOM-документа. На задержку также влияет количество подключаемых скриптов […]
Экземпляры String — это экзотические объекты String, для которых заданы внутренние методы. Экземпляры String наследуют свойства от объекта-прототипа String. У экземпляров String также есть внутренний слот [[StringData]]. Экземпляры String имеют свойство «length» и набор перечислимых свойств с именами, индексируемыми целыми числами. Получение длины строки в JavaScript Так как в […]
Посмотрите внимательно на функцию в JavaScript: // Ветвление в блоке try/catch function f(qwe){ try { qwe.replace(‘3’,‘2’) console.log(‘TRY’) return 1 } catch (error) { console.log(‘CATCH’) return […]
Оглавление Приведение чисел к логическому типу Boolean Приведение строк к логическому типу Boolean Приведение массивов к логическому типу Boolean Приведение объектов к логическому типу Boolean Приведение undefined к логическому типу Boolean Приведение null к логическому типу Boolean Где автоматически срабатывает приведение к логическому типу Boolean? Приведение чисел к логическому […]
Для округления дробного числа до сотых, нужно вызвать метод toFixed(), который наследуется всеми объектами Number. Внутрь метода нужно передать один параметр — это число 2. Двойка означает два знака после запятой (в коде после точки). 0.123456.toFixed(2) '0.12' 0.6543.toFixed(2) '0.65' 0.1555.toFixed(2) '0.16' 0.155.toFixed(2) '0.15' Округление может выдавать спорные результаты, поэтому учитывайте […]
Давай начнём издалека, чтобы ты точно смог понять что такое this в JavaScript. Ключевые зарезервированные слова в JavaScript Во-первых, this — это зарезервированное ключевое слово в JavaScript. Это значит, что им нельзя называть переменные или функции. Когда «среда выполнения кода» доходит до слова this в твоём коде, тогда она […]
В JavaScript всё является объектами. Любой объект в JavaScript по цепочке прототипов приходит к «Глобальному Объекту» языка. Это самый верхний уровень видимости элементов. У «Глобального Объекта» JavaScript есть свои собственные свойства-конструкторы. Одним из таких свойств является объект Math. Math — это специальный математический класс (объект), который предлагает базовый функционал для […]