Javascript
По всем вопросам - @workakkk @itchannels_telegram -🔥лучшие ИТ-каналы @ai_machinelearning_big_data - машинное обучение @JavaScript_testit- js тесты @pythonl - 🐍 @ArtificialIntelligencedl - AI @datascienceiot - ml 📚 РКН: № 5153160945
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Javascript
تُعد قناة Javascript (@javascriptv) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 17 537 مشتركاً، محتلاً المرتبة 7 621 في فئة التكنولوجيات والتطبيقات والمرتبة 38 575 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 17 537 مشتركاً.
بحسب آخر البيانات بتاريخ 07 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -67، وفي آخر 24 ساعة بمقدار 3، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 13.81%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 5.94% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 421 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 041 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 10.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل javascript, github, битрикс24, api, css.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“По всем вопросам - @workakkk
@itchannels_telegram -🔥лучшие ИТ-каналы
@ai_machinelearning_big_data - машинное обучение
@JavaScript_testit- js тесты
@pythonl - 🐍
@ArtificialIntelligencedl - AI
@datascienceiot - ml 📚
РКН: № 5153160945”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 08 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
// Получаем нужный элемент
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
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
