Javascript
По всем вопросам - @workakkk @itchannels_telegram -🔥лучшие ИТ-каналы @ai_machinelearning_big_data - машинное обучение @JavaScript_testit- js тесты @pythonl - 🐍 @ArtificialIntelligencedl - AI @datascienceiot - ml 📚 РКН: № 5153160945
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Javascript
تُعد قناة Javascript (@javascriptv) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 17 531 مشتركاً، محتلاً المرتبة 7 611 في فئة التكنولوجيات والتطبيقات والمرتبة 38 553 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 17 531 مشتركاً.
بحسب آخر البيانات بتاريخ 09 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -58، وفي آخر 24 ساعة بمقدار -3، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 13.53%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 5.86% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 373 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 027 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 12.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل javascript, github, битрикс24, api, css.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“По всем вопросам - @workakkk
@itchannels_telegram -🔥лучшие ИТ-каналы
@ai_machinelearning_big_data - машинное обучение
@JavaScript_testit- js тесты
@pythonl - 🐍
@ArtificialIntelligencedl - AI
@datascienceiot - ml 📚
РКН: № 5153160945”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 10 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
function fullScreen() {
const el = document.documentElement
const rfs =
el.requestFullScreen ||
el.webkitRequestFullScreen ||
el.mozRequestFullScreen ||
el.msRequestFullscreen
if(typeof rfs != "undefined" && rfs) {
rfs.call(el)
}
}
fullScreen()
▪ Выход из полноэкранного режима
function exitScreen() {
if (document.exitFullscreen) {
document.exitFullscreen()
}
else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen()
}
else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen()
}
else if (document.msExitFullscreen) {
document.msExitFullscreen()
}
if(typeof cfs != "undefined" && cfs) {
cfs.call(el)
}
}
exitScreen()
▪ Вывод страницы
Чтобы вывести текущую страницу:
window.print()
▪ Изменение стиля выводимого контента
Чтобы при выводе страницы изменить текущий макет:
<style>
/* Используйте @media print, чтобы настроить стиль вывода */
@media print {
.noprint {
display: none;
}
}
</style>
<div class="print">print</div>
<div class="noprint">noprint</div>
▪ Блокировка события закрытия
Чтобы оградить пользователя от обновления или закрытия браузера, запустите событие beforeunload (некоторые браузеры не кастомизируют текстовой контент):
window.onbeforeunload = function(){
return 'Are you sure you want to leave the haorooms blog?';
};
▪ Запись экрана
Чтобы сделать запись текущего экрана для ее передачи или загрузки:
const streamPromise = navigator.mediaDevices.getDisplayMedia()
streamPromise.then(stream => {
var recordedChunks = [];// записанные видеоданные
var options = { mimeType: "video/webm; codecs=vp9" };// Установите формат кодирования
var mediaRecorder = new MediaRecorder(stream, options);// Инициализируйте экземпляр MediaRecorder
mediaRecorder.ondataavailable = handleDataAvailable;// Установите обратный вызов, когда данные будут доступны (конец записи экрана)
mediaRecorder.start();
// Фрагментация видео
function handleDataAvailable(event) {
if (event.data.size > 0) {
recordedChunks.push(event.data);// Добавление данных, event.data - объект BLOB
download();// Инкапсуляция в объект BLOB и загрузка
}
}
// Загрузка файла
function download() {
var blob = new Blob(recordedChunks, {
type: "video/webm"
});
// Видео можно загрузить здесь в бэкенд
var url = URL.createObjectURL(blob);
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
a.href = url;
a.download = "test.webm";
a.click();
window.URL.revokeObjectURL(url);
}
})
▪ Определение состояния горизонтального и вертикального экранов
Чтобы оценить состояние горизонтального или вертикального экрана мобильного телефона:
function hengshuping(){
if(window.orientation==180||window.orientation==0){
alert("Portrait state!")
}
if(window.orientation==90||window.orientation==-90){
alert("Landscape state!")
}
}
window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", hengshuping, false);
▪ Различение стилей для горизонтального и вертикального экранов
Чтобы установить разные стили для горизонтального и вертикального экранов:
<style>
@media all and (orientation : landscape) {
body {
background-color: #ff0000;
}
}
@media all and (orientation : portrait) {
body {
background-color: #00ff00;
}
}
</style>
▪ Продолжение
@javascriptvНативная интеграция. Информация о продукте www.otus.rufunction defense() {
console.log('I am the defense attorney');
}
function prosecution() {
console.log('I am the prosecutor');
}
console.log('All rise');
defense();
prosecution();
👀Смотреть
▪Более интересный случай
В данном примере — вызов функции внутри другой функции.
function callingToWitness(witnessNumber) {
console.log('Calling to witness number ' + witnessNumber);
}
function defense() {
callingToWitness(1);
callingToWitness(2);
}
function prosecution() {
callingToWitness(3);
callingToWitness(4);
}
console.log('All rise');
defense();
prosecution();
👀Смотреть
Этот пример помогает лучше понять термин “стек”. Благодаря вызову функции внутри другой функции мы видим, как “боксы” нагромождаются один на другой и создают стек “боксов”.
Каждый “бокс” выполняет код внутри себя. При вызове функции создается новый “бокс” внутри нее. Если есть простая команда, например console.log, она просто выполняется. Выполнив весь код, “бокс” покидает стек.
Что такое “боксы”? Зачем нужны контексты выполнения?
▪Читать
@javascriptvНативная интеграция. Информация о продукте www.otus.ruНативная интеграция. Информация о продукте www.otus.ruvar canJump = function(nums) {
// Base condition...
if(nums.length <= 1)
return true;
// To keep the maximum index that can be reached...
let maximum = nums[0];
// Traverse all the elements through loop...
for(let i = 0; i < nums.length; i++){
//if there is no way to jump to next...
// so we should return false...
if(maximum <= i && nums[i] == 0)
return false;
//update the maximum jump...
if(i + nums[i] > maximum){
maximum = i + nums[i];
}
//maximum is enough to reach the end...
if(maximum >= nums.length-1)
return true;
}
return false;
};
Пишите свое решение в комментариях👇
@javascriptv
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
