Ответы пользователя по тегу JavaScript
  • Написание кода коротко плохо?

    @formasters777
    в данном случае Вы представили два варианта условных ветвлений,
    в первом случае описывается Optional chaining operator.
    во втором случае обычное представление if else как есть,
    ну а дальше если углубится, то имеет значение как Вы формируете компоненты, функции, на сколько они стабильны при выполнении под нагрузкой, например 1000 запросов,
    ведь если взять Вашу строку кода resizeObserver?.disconnect(),
    обычно классикой программирования считается когда Вы указываете программе если ДА, то одно действие,
    если НЕТ, то другое действие, если даже функция по каким-либо причинам не срабатывает она должна что-то возвращать (например false, null). Эта практика используется для стабильности кода, чтобы программа не додумывала сама.
    к примеру, если к Вашей строке кода resizeObserver?.disconnect() добавить тернарный оператор, например
    resizeObserver?.disconnect() ? 'observer_some_action()' : 'observer_another_action()' || null;
    В этом случае можно получить дополнительную функциональность кода, например для тестов, чтобы не ловить конкретное событие в общем стеке.
    Или resizeObserver?.disconnect?.() ?.() эта запись проверит существует ли вообще функция disconnect().
    Ошибки можно и не ловить конечно, но без их отработки Вы не достигните более стабильной работы программы,
    также стоит отметить, что типы данных(typescript), увеличивают стабильность кода, а добавление в некоторых случаях например, else {null} может уменьшить блокирование Вашей программы, то есть ошибка или сбой загрузки чего либо будет, но при этом Вы не потеряете доступ к Вашему UI, и сможете что-то клацать ещё.

    но если взять примеры с промисов javascript, там есть варианты пропускания отрицательных ответов,
    return new Promise((resolve) => {
              setTimeout(function() {
                  console.log('2');
                  return resolve(2);
              }, 1000); }
    }

    можно даже ошибки не обрабатывать.
    В целом .? позволяет Вам более интересно работать с данными, но не стоит им злоупотреблять. т.к. это может скрыть проблемы в Вашем коде, их применяют для чтения и удаления, но не записи.
    Ответ написан
  • Изменение текста в input?

    @formasters777
    возможно такой вариант:
    function BClick () {
    document.getElementById("myInput").value = "Мой текст";
    }


    Моя кнопка
    Ответ написан
    Комментировать
  • Как называется данный способ показа информации?

    @formasters777
    назвал бы это слайд-шоу например, но думаю и из карусели такое можно сделать,
    просто выпадающее меню, по нажатию кнопки,
    вопрос только в том, что будет тригером для анимации, скролл, нажатие на кнопку, просто hover с задержкой.
    Ответ написан
  • Формирование Даты?

    @formasters777
    например:
    parseInt( dataMonth[data[1]] )
    Ответ написан
    Комментировать
  • Как добавить время публикации задачи в ToDo лист?

    @formasters777
    tasksList.insertAdjacentHTML('beforeend', taskHTML + new Date().toLocaleString());
    может это поможет
    Ответ написан
    4 комментария
  • Как в Тильде открыть popup из javascript?

    @formasters777
    попробуйте поставить prevent.Default на событие и привяжите к нему свой popup
    или попробуйте addEventListener('click', functionApp);
    click замените на своё событие.
    Ответ написан
    Комментировать
  • Как в таймере перед цифрой добавить ноль если число меньше 10?

    @formasters777
    думаю тебе нужно создать условие на часы и минуты в функции Countdown.prototype.time_difference = function(){

    if (number < 10) {
    "0" + number; и добиться конкатенации строк при складывании.
    Ответ написан
    Комментировать
  • Парсинг динамического сайта JavaScript?

    @formasters777
    Тут есть много факторов,
    если сайт медленно даёт тебе ответ, то:
    -скорость твоего соединения? 3G, 4G, кабель 20Мб/с;
    -можно взять вместо твоего клиента https, например axios или fetch;
    -может быть так, что данные на сайте появятся только через 10сек. после события load, т.к. это просто запрограммировано на сайте так;
    -можешь попробовать безголовый способ типа Puppeteer;
    -в твоём коде вижу есть setTimeout( okey, 5000), но лучше возможно поменять условие на ожидание промиса?, пока данные не придут в промис, а туда придёт или resolve или reject, и ты увидишь в ответе там что-то.
    -если у тебя много запросов, к разным сайтам, можешь подумать о методах промиса .all() или allSettled().
    Ответ написан
    Комментировать
  • Как обработать события canvas под элементами?

    @formasters777
    могу ошибаться, но Вы можете попробовать сделать первый слой чёрный, второй слой надпись, третий слой canvas,
    используя z-index? и наложение например.
    Ответ написан
    Комментировать