Javascript
По всем вопросам - @workakkk @itchannels_telegram -🔥лучшие ИТ-каналы @ai_machinelearning_big_data - машинное обучение @JavaScript_testit- js тесты @pythonl - 🐍 @ArtificialIntelligencedl - AI @datascienceiot - ml 📚 РКН: № 5153160945
Ko'proq ko'rsatish📈 Telegram kanali Javascript analitikasi
Javascript (@javascriptv) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 17 537 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 7 621-o'rinni va Rossiya mintaqasida 38 575-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 17 537 obunachiga ega bo‘ldi.
07 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -67 ga, so‘nggi 24 soatda esa 3 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 13.81% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 5.94% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 2 421 marta ko‘riladi; birinchi sutkada odatda 1 041 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 10 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent javascript, github, битрикс24, api, css kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“По всем вопросам - @workakkk
@itchannels_telegram -🔥лучшие ИТ-каналы
@ai_machinelearning_big_data - машинное обучение
@JavaScript_testit- js тесты
@pythonl - 🐍
@ArtificialIntelligencedl - AI
@datascienceiot - ml 📚
РКН: № 5153160945”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 08 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
// Получаем нужный элемент
var element = document.querySelector('#target');
var Visible = function (target) {
// Все позиции элемента
var targetPosition = {
top: window.pageYOffset + target.getBoundingClientRect().top,
left: window.pageXOffset + target.getBoundingClientRect().left,
right: window.pageXOffset + target.getBoundingClientRect().right,
bottom: window.pageYOffset + target.getBoundingClientRect().bottom
},
// Получаем позиции окна
windowPosition = {
top: window.pageYOffset,
left: window.pageXOffset,
right: window.pageXOffset + document.documentElement.clientWidth,
bottom: window.pageYOffset + document.documentElement.clientHeight
};
if (targetPosition.bottom > windowPosition.top && // Если позиция нижней части элемента больше позиции верхней чайти окна, то элемент виден сверху
targetPosition.top < windowPosition.bottom && // Если позиция верхней части элемента меньше позиции нижней чайти окна, то элемент виден снизу
targetPosition.right > windowPosition.left && // Если позиция правой стороны элемента больше позиции левой части окна, то элемент виден слева
targetPosition.left < windowPosition.right) { // Если позиция левой стороны элемента меньше позиции правой чайти окна, то элемент виден справа
// Если элемент полностью видно, то запускаем следующий код
console.clear();
console.log('Вы видите элемент :)');
} else {
// Если элемент не видно, то запускаем этот код
console.clear();
};
};
// Запускаем функцию при прокрутке страницы
window.addEventListener('scroll', function() {
Visible (element);
});
// Запустим функцию сразу
Visible (element);
🟡
body {
height: 6000px;
}
#target {
margin-top: 3000px;
}
🟡
<div id="target">Элемент</div>
@javascriptvthis в стрелочной и обычной функциях.
Что ж, попробуем разобраться в этом на нескольких примерах.
Прежде чем перейти к рассмотрению примеров, необходимо иметь в виду два момента.
🟡Ключевое слово this в обычной функции всегда зависит от того, "как вызывается функция".
🟡Ключевое слово this в стрелочной функции всегда зависит от того, "где определена функция".
▶️ Переходим к примерам
@javascriptv// View
<li class="User_card" model="User_card_model">
<img src={ image } />
<p>{ message }</p>
</li>
// ViewModel
class User_card_model {
user = User.current
get image() {
return this.user.avatar
}
get message() {
return this.user.nickname
}
}
// Modelhttps://habrastorage.org/getpro/habr/upload_files/184/ef6/b75/184ef6b7510290ecd0acc360ed78df5b.png
class User {
avatar: string
nickname: string
static current = new User
}
Плюсы:
— Отображение может использовать произвольные вьюмодели.
— Легко добавлять новые отображения, не меняя ни модели, ни вьюмодели.
— Изменение интерфейса модели или отображения требует изменения только лишь вьюмодели.
— Одну и ту же вьюмодель можно шарить между несколькими отображениями.
Минусы:
— Для отображения разных моделей необходимо дублировать код отображения и вьюмодели.
— Трёх слоёв слишком мало на больших масштабах.
📎 Читать подробнее
@javascriptv├╼ IIFE (Immediately-Invoked Function Expression)
├╼ CommonJS
├╼ Асинхронные импорты
├╼ AMD (Asynchronous Module Definition)
├╼ Динамический импорт
├╼ Реализация асинхронности и Require.js
├╼ UMD (Universal Module System)
├╼ Обратная совместимость и SystemJS
╰╼ ES6 и его модули
▶️ Вперед
@javascriptvEvent Loop, микро- и макро-задачи, Event Bus, промисы и синтаксический сахар async/await. Разберемся, как эти концепции взаимодействуют между собой и как их использование помогает нам создавать более эффективные и отзывчивые веб-приложения.
⏩Порядок такой: начнем с изучения роли Event Loop — механизма, ответственного за управление выполнением асинхронного кода. Затем мы перейдем к рассмотрению микро- и макро-задач, которые играют важную роль в управлении порядком выполнения операций. После этого мы ознакомимся с промисами и синтаксическим сахаром async/await, которые значительно упрощают работу с асинхронным кодом и делают его более читаемым и понятным.
Уверен, будет полезно
📎 Статья
@javascriptvlocalStorage и sessionStorage. Они позволяют сохранять данные в браузере и использовать их позже.
В этой статье мы рассмотрим разницу между localStorage и sessionStorage, их методы работы и примеры использования.
🟡localStorage
├╼ Сохранение данных в localStorage
├╼ Получение данных из localStorage
├╼ Удаление данных из localStorage
╰╼ Очистка localStorage
🟡sessionStorage
├╼ Сохранение данных в sessionStorage
├╼ Получение данных из sessionStorage
├╼ Удаление данных из sessionStorage
╰╼ Очистка sessionStorage
📎 Статья
@javascriptv├╼ Типы данных
├╼ Продвинутая работа с функциями
├╼ Регулярные выражения
├╼ Свойства объекта, их конфигурация
├╼ Прототипы, наследование
├╼ Классы
├╼ Обработка ошибок
├╼ Промисы, async/await
├╼ Генераторы, продвинутая итерация
╰╼ Модули
Мега удобно, что всё на одной странице, Ctrl + F — и сразу нашёл, что нужно
📎 Шпаргалка
@javascriptvvar result = "";
someInput.onchange = function() {
result = someInput.value;
};
$.get("someapi", function (data) {
result = data.foo;
});
some.api.call(42, function (data) {
result = data.bar;
});
someDiv.textContent = result;
Почему-то в someDiv ничего не отображается.
▶️Проблема в том, что в коде нет операции ожидания. Ни подписка на событие, ни AJAX-вызов, ни даже вызов API не ждут поступления данных - а сразу же передают управление дальше. Поэтому строка someDiv.textContent = result; выполняется ДО того, как переменная result получит значение.
Способов сделать это присваивание после получения значения несколько:
— переместить присваивание внутрь
— вынесение присваивания в именованную функцию
— обратные вызовы (callbacks)
— обещания (promises)
— наблюдаемые значения (observables) в Knockout
— наблюдаемые значения (observables) в MobX
📎 Подробнее об этом всём
@javascriptv
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
