WebRTC позволяет браузерам обмениваться информацией напрямую без сервера. Можно передавать видео, звук и данные.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Добро пожаловать в канал "JavaScript заметки"! Если вы интересуетесь практическим JavaScript и хотите улучшить свои навыки во Frontend-разработке, то этот канал идеально подойдет для вас. Здесь вы найдете регулярные заметки, которые помогут вам углубиться в мир программирования и стать более опытным специалистом.
Читайте наши посты, пока компилируется ваш проект. Наши обучающие материалы будут полезны как начинающим, так и опытным разработчикам. У нас вы сможете узнать о последних тенденциях в мире JavaScript и улучшить свои навыки.
Мы также предлагаем сотрудничество с @noname_media для размещения вашей рекламы на канале. Свяжитесь с нами, чтобы узнать больше о возможностях сотрудничества.
Присоединяйтесь к нам на нашем канале на бирже telega.in/channels/notesjs/card?r=Wj7h1mbl и начните свое увлекательное путешествие в мир JavaScript прямо сейчас!
17 Feb, 16:05
17 Feb, 06:05
16 Feb, 16:05
16 Feb, 06:05
15 Feb, 16:05
15 Feb, 06:05
14 Feb, 16:05
14 Feb, 06:05
13 Feb, 16:05
13 Feb, 06:05
12 Feb, 16:05
12 Feb, 06:05
11 Feb, 16:05
11 Feb, 06:05
10 Feb, 16:05
10 Feb, 06:05
09 Feb, 16:05
09 Feb, 06:05
08 Feb, 16:05
08 Feb, 06:05
07 Feb, 16:05
07 Feb, 06:05
06 Feb, 16:30
06 Feb, 16:05
06 Feb, 12:05
06 Feb, 06:05
05 Feb, 16:05
05 Feb, 06:05
04 Feb, 16:05
04 Feb, 06:05
03 Feb, 16:05
03 Feb, 06:05
02 Feb, 16:05
02 Feb, 06:05
01 Feb, 16:05
01 Feb, 13:40
01 Feb, 06:04
31 Jan, 16:05
31 Jan, 06:05
greet
принимает аргумент name
и возвращает приветствие.30 Jan, 16:05
<head>
.?hl=fr
появлялась превью с французским заголовком и описанием сайта.30 Jan, 06:05
29 Jan, 16:05
29 Jan, 06:05
28 Jan, 16:05
28 Jan, 12:05
28 Jan, 06:05
27 Jan, 16:05
switchMap
, exhaustMap
, concatMap
, mergeMap
.27 Jan, 06:05
26 Jan, 16:05
26 Jan, 06:05
25 Jan, 16:05
25 Jan, 06:05
24 Jan, 16:05
24 Jan, 06:05
startsWith()
проверяет, начинается ли строка с заданной подстроки.23 Jan, 16:05
23 Jan, 12:05
23 Jan, 06:05
every()
проверяет, выполняется ли заданное условие для всех элементов массива.22 Jan, 16:05
22 Jan, 06:05
find()
возвращает первый элемент массива, удовлетворяющий заданному условию.21 Jan, 16:05
-2.1+ .355 / (cos(pi % 3) + sin(0.311))
. Один из комментариев там предложил посчитать то, что я вынес в заголовок этого поста. Что ж, вызов принят. Как и в предыдущем посте, мы "на пальцах" разбираем устройство простейшего интерпретатора.21 Jan, 06:05
reduce()
применяет функцию аккумулятора к каждому элементу массива и возвращает одно значение.20 Jan, 16:17
20 Jan, 14:17
20 Jan, 06:05
filter()
создает новый массив, содержащий элементы, прошедшие заданный критерий.19 Jan, 16:05
19 Jan, 06:05
Object.create()
позволяет создать новый объект с указанным прототипом. В данном случае, myCar
наследует метод startEngine
от объекта car
.18 Jan, 16:05
18 Jan, 06:05
17 Jan, 16:05
17 Jan, 06:05
16 Jan, 17:11
16 Jan, 06:05
15 Jan, 18:11
15 Jan, 06:05
14 Jan, 16:05
14 Jan, 06:05
13 Jan, 16:05
13 Jan, 06:05
12 Jan, 16:05
12 Jan, 06:05
11 Jan, 16:05
11 Jan, 06:05
10 Jan, 16:05
10 Jan, 06:05
fetchData
, которая возвращает обещание (Promise) с задержкой. Затем мы используем методы .then()
для обработки успешного выполнения и .catch()
для обработки ошибок. Это позволяет более чисто и структурированно работать с асинхронными операциями, такими как загрузка данных с сервера.09 Jan, 16:05
09 Jan, 10:00
09 Jan, 06:05
products
, содержащий информацию о различных продуктах. Затем мы используем метод sort()
для сортировки этого массива по полю price
в порядке возрастания, используя функцию sortByPriceAscending
в качестве функции сравнения. Вы можете создать аналогичные функции для сортировки в порядке убывания или для сортировки по другим полям объектов.08 Jan, 16:05
08 Jan, 06:05
07 Jan, 16:05
07 Jan, 12:05
07 Jan, 06:05
06 Jan, 16:05
06 Jan, 06:05
Object.defineProperty
для управления свойствами объектаObject.defineProperty
позволяет тонко настраивать свойства объекта, делая их защищенными или скрытыми.05 Jan, 16:05
05 Jan, 12:05
05 Jan, 06:05
04 Jan, 16:05
04 Jan, 06:05
03 Jan, 16:05
03 Jan, 06:05
02 Jan, 16:05
02 Jan, 06:05
01 Jan, 16:05
01 Jan, 06:05
31 Dec, 16:05
31 Dec, 06:05
30 Dec, 16:05
30 Dec, 06:05
Promise.allSettled
возвращает результаты всех промисов, независимо от их выполнения или отклонения.29 Dec, 16:05
29 Dec, 06:05
Number
.28 Dec, 16:05
28 Dec, 06:05
27 Dec, 16:05
27 Dec, 06:05
26 Dec, 16:05
26 Dec, 12:05
26 Dec, 09:05
26 Dec, 06:05
yield
.25 Dec, 16:05
25 Dec, 06:05
24 Dec, 16:05
24 Dec, 06:05
23 Dec, 16:05
23 Dec, 06:05
new Date()
, который инициализирует его текущей датой и временем.getFullYear()
, getMonth()
, getDate()
, getHours()
, getMinutes()
и getSeconds()
, чтобы получить текущие значения года, месяца, дня, часа, минуты и секунды.22 Dec, 16:05
22 Dec, 06:05
getContext()
. Затем мы используем методы контекста, такие как fillRect()
для рисования прямоугольника, stroke()
для рисования линии и fillText()
для рисования текста.fillStyle
), цвет обводки (strokeStyle
), толщина линии (lineWidth
) и шрифт (font
).21 Dec, 16:05
21 Dec, 06:05
animation
. С помощью CSS можно определить ключевые кадры, продолжительность, задержку, тип анимации и другие параметры. Преимущество использования CSS для анимации заключается в том, что браузеры могут оптимизировать и ускорить процесс воспроизведения анимации.slide-in
, которая перемещает элемент из-за пределов экрана внутрь с помощью свойства transform: translateX()
. Анимация начинается с -100%
смещения по оси X и заканчивается с 0
смещением..element
с помощью свойства animation
. Мы указываем имя анимации slide-in
, продолжительность 1s
и функцию плавности ease-in-out
.20 Dec, 16:05
20 Dec, 06:05
div
с текстом "Новый элемент" и классом "my-class". Затем мы добавляем этот элемент в конец body
документа с помощью метода appendChild()
. Мы также изменяем содержимое элемента с помощью свойства textContent
и стилизуем его, устанавливая значение свойства backgroundColor
.remove()
. Это демонстрирует возможность удаления элементов из документа.19 Dec, 16:05
19 Dec, 06:05
person
, содержащий информацию о человеке. Затем мы используем метод JSON.stringify()
для сериализации объекта в строку JSON. Результат выводится в консоль.JSON.parse()
для десериализации строки JSON обратно в объект. Результат также выводится в консоль.18 Dec, 16:05
18 Dec, 06:05
Carousel
используется для создания простой карусели изображений.28 Nov, 06:05
27 Nov, 16:05
27 Nov, 06:05
26 Nov, 16:05
26 Nov, 12:05
26 Nov, 06:05
25 Nov, 16:05
25 Nov, 06:05
24 Nov, 16:05
24 Nov, 06:05
23 Nov, 16:05
23 Nov, 06:05
22 Nov, 16:05
22 Nov, 06:05
21 Nov, 16:05
21 Nov, 06:05
fetchData
, которая возвращает обещание (Promise) с задержкой. Затем мы используем методы .then()
для обработки успешного выполнения и .catch()
для обработки ошибок. Это позволяет более чисто и структурированно работать с асинхронными операциями, такими как загрузка данных с сервера.20 Nov, 16:05
20 Nov, 06:05
products
, содержащий информацию о различных продуктах. Затем мы используем метод sort()
для сортировки этого массива по полю price
в порядке возрастания, используя функцию sortByPriceAscending
в качестве функции сравнения. Вы можете создать аналогичные функции для сортировки в порядке убывания или для сортировки по другим полям объектов.19 Nov, 16:05
19 Nov, 06:05
localStorage
позволяет хранить данные на стороне клиента (в браузере). Методы setItem()
используются для записи данных, getItem()
для чтения данных и removeItem()
для удаления данных из локального хранилища.16 Nov, 16:05
16 Nov, 06:05
getContext()
. Затем мы используем методы контекста, такие как fillRect()
для рисования прямоугольника, stroke()
для рисования линии и fillText()
для рисования текста.fillStyle
), цвет обводки (strokeStyle
), толщина линии (lineWidth
) и шрифт (font
).15 Nov, 16:05
15 Nov, 12:05
15 Nov, 06:05
div
с текстом "Новый элемент" и классом "my-class". Затем мы добавляем этот элемент в конец body
документа с помощью метода appendChild()
. Мы также изменяем содержимое элемента с помощью свойства textContent
и стилизуем его, устанавливая значение свойства backgroundColor
.remove()
. Это демонстрирует возможность удаления элементов из документа.14 Nov, 16:05
14 Nov, 06:05
13 Nov, 16:05
13 Nov, 06:05
12 Nov, 16:05
12 Nov, 06:05
11 Nov, 16:05
11 Nov, 07:05
forEach()
используется для обхода элементов коллекции Set
. Обход происходит в порядке добавления значений в коллекцию от старых к новым.одноимённому методу массива
.11 Nov, 06:05
10 Nov, 16:05
10 Nov, 06:05
09 Nov, 16:05
09 Nov, 06:05
08 Nov, 17:00
08 Nov, 06:05
07 Nov, 16:05
07 Nov, 06:05
06 Nov, 16:05
06 Nov, 06:05
div
с текстом "Новый элемент" и классом "my-class". Затем мы добавляем этот элемент в конец body
документа с помощью метода appendChild()
. Мы также изменяем содержимое элемента с помощью свойства textContent
и стилизуем его, устанавливая значение свойства backgroundColor
.remove()
. Это демонстрирует возможность удаления элементов из документа.05 Nov, 16:05
04 Nov, 16:05
04 Nov, 15:04
04 Nov, 12:05
04 Nov, 06:05
div
с текстом "Новый элемент" и классом "my-class". Затем мы добавляем этот элемент в конец body
документа с помощью метода appendChild()
. Мы также изменяем содержимое элемента с помощью свойства textContent
и стилизуем его, устанавливая значение свойства backgroundColor
.remove()
. Это демонстрирует возможность удаления элементов из документа.03 Nov, 16:05
03 Nov, 12:05
03 Nov, 06:05
getContext()
. Затем мы используем методы контекста, такие как fillRect()
для рисования прямоугольника, stroke()
для рисования линии и fillText()
для рисования текста.fillStyle
), цвет обводки (strokeStyle
), толщина линии (lineWidth
) и шрифт (font
).02 Nov, 16:05
02 Nov, 06:05
new Intl.NumberFormat()
. Мы указываем язык и регион (в данном случае 'en-US' для английского языка в США) и опции форматирования (в данном случае стиль 'currency' и валюту 'USD').format()
объекта Intl для форматирования числа amount
в соответствии с указанными опциями. В данном примере мы форматируем число в денежный формат.01 Nov, 16:05
01 Nov, 06:05
factorial
, которая вычисляет факториал числа n
. Она вызывает себя с аргументом n - 1
, пока n
не станет меньше или равно 1.factorialMemoized
, которая использует мемоизацию. Мемоизация - это техника, при которой результаты предыдущих вызовов функции сохраняются в памяти и возвращаются в случае повторного вызова с теми же аргументами. В данном случае, мы используем объект memo
для хранения результатов предыдущих вызовов factorialMemoized
. Если результат уже вычислен для конкретного n
, мы возвращаем его из memo
, иначе вычисляем и сохраняем в memo
.factorialMemoized
более эффективна при вычислении факториала для больших чисел, так как избегает переполнения стека вызовов, и вычисляет результаты только один раз для каждого n
.31 Oct, 16:05
31 Oct, 06:05
products
, содержащий информацию о различных продуктах. Затем мы используем метод sort()
для сортировки этого массива по полю price
в порядке возрастания, используя функцию sortByPriceAscending
в качестве функции сравнения. Вы можете создать аналогичные функции для сортировки в порядке убывания или для сортировки по другим полям объектов.30 Oct, 16:05
30 Oct, 06:05
29 Oct, 16:05
29 Oct, 06:05
28 Oct, 16:05
28 Oct, 06:05
27 Oct, 16:05
26 Oct, 16:05
26 Oct, 06:05
25 Oct, 16:05
25 Oct, 06:05
24 Oct, 16:05
24 Oct, 06:05
23 Oct, 16:05
23 Oct, 06:05
22 Oct, 16:05
22 Oct, 06:05
21 Oct, 16:05
21 Oct, 06:05
20 Oct, 16:05
20 Oct, 06:05
19 Oct, 16:10
19 Oct, 16:05
19 Oct, 06:05
18 Oct, 16:05
18 Oct, 06:05
fullName
, которое автоматически обновляет значения firstName
и lastName
при установке.17 Oct, 16:05
17 Oct, 06:05
16 Oct, 16:05
16 Oct, 06:05
15 Oct, 16:05
15 Oct, 06:05
14 Oct, 16:05
14 Oct, 06:05
13 Oct, 16:05