Ответы пользователя по тегу JavaScript
  • Почему не срабатывает цикл при i = i++?

    @Karpion
    В языке Си есть масса случаев неопределённого поведения программы - когда результат выполнения может различаться на разных архитектурах процессора, на разных компиляторх, на разных уровнях оптимизации.
    Одно из правил, позволяющих избежать этой проблемы: "никогда не используйте переменную с пред/пост-инкрементацией/декрементацией два или более раз в одном выражении".

    Сергей Яковлев правильно сказал: достаточно i++ (или ++i, что в данном случае то же самое).
    Ответ написан
    Комментировать
  • Как перевести base64 в значение пикселей?

    @Karpion
    Ну, изучите, как декодируется base64. Потом преобразуйте бинарные данные так, как Вам хочется - я так не понял, что означают цифры в Вашем примере.
    Ответ написан
  • Как создать кнопку, которая отчистит весь HTML на сервере?

    @Karpion
    В некоторых случаях в сайт внедряют скрипты, которые после определённой даты делают сайт неработоспособным. Если это JS-скрипты для исполнения в браузере - то страницы показываются неверно, но это можно найти и исправить. Если это CGI-скрипты для исполнения на сервере - то они могут потереть и сайт, и данные; но против бэкапа это не сработает.
    После оплаты - заказчику высылается исправленный сайт без этой закладки.
    Ответ написан
    Комментировать
  • Написать function expression суммы чисел геометрической прогрессии?

    @Karpion
    Как-то так:
    let sumG = function (n,g) {
    let b1 = 1;
    let sum = 0;
    for (let i = 1; i < n; i++){
    	sum += b1;
    	b1 *= g;
    }
    return sum;
    };


    Самое бредовое у Вас: sum = b1 + b1; внутри цикла.
    Ответ написан
    2 комментария
  • Js плагины это тулзы?

    @Karpion
    Ну, называйте - если собеседники Вас поймут. Законы это не запрещают.
    Ответ написан
    Комментировать
  • Как сделать циклическую смену 3х цветов фона div при наведении и отведении мыши?

    @Karpion
    Занумеруем цвета произвольным простейшим образом. При загрузке страницы - некой статической переменной присвоим номер, соответствующий зелёному.

    При наведении курсора - присваиваем фону цвет, соответствующий этой переменной. А саму переменную переводим в следующее состояние; при этом помним, что состояния закольцованы.

    Если цвета занумерованы, начиная с нуля - то переход к следующему делается по формуле n = (n+1) mod 3, где три = количество цветов в цикле; а mod = остаток от деления.

    Думаю, д.б. понятно.
    Ответ написан
    Комментировать
  • Как округлить число до сотых в input?

    @Karpion
    Умножить на сто. Округлить до целого - тут есть несколько вариантов. И разделить на сто.

    Округлять лучше до ближайшего целого. Это можно так:
    Прибавить 0.5. Округлить до целого вниз. Вычесть 0.5.

    Или можно преобразовать число в строку и оперировать со строкой. Но надо помнить - число может оказаться в плавающей форме.
    Ответ написан
    Комментировать
  • Почему network дублирует файлы?

    @Karpion
    По моим ощущениям - эти файлы закачаны из разных мест (с разных серверов, из разных папок). Проверьте.
    Ответ написан
    4 комментария
  • 3D "window" в браузере?

    @Karpion
    Ну, я бы сделал примерно так:
    Создаём невидимый объект, куда помещаем содержимое окна. Располагаем там элементы, заставляем систему отрендерить их, а картинку выносим на 3D-объект.
    Далее все действия с 3D-объектом типа клика мышкой - переадресуем в невидимое окно. И при его изменении - снова переносим изображение в 3D-объект.
    Как-то так. Не факт, что оптимально.
    Ответ написан
    Комментировать
  • Как понять входит ли точка в квадрат?

    @Karpion
    Если это ровный квадрат - то x1=x4, и остальные параметры тоже равны попарно. В таком случае напишите нормально.
    Для ровного квадрата - надо убедиться, что X-координата точки находится между X-координатами левой и правой границы; и аналогично - для Y-координаты.
    А можно посчитать среднюю точку. И потом убедиться, что отклонение координат X и Y отличаются от средней точки не более чем на половину стороны квадрата - по абсолютной величине. Это хорошо тем, что можно не бояться перепутать правую и левую стороны квадрата.

    Или квадрат м.б. повёрнут - тогда его надо задают немного совсем иначе, есть несколько вариантов.
    Тут вычисления немного сложнее.
    Ответ написан
    Комментировать
  • Как не закончить цикл while?

    @Karpion
    В prompt всегда вводится строка. Эту строку поим можно интерпретировать как число, причём разными способами, в т.ч. как римскую запись: I, II, III, IV, V, VI, VII, VIII, IX, X,...

    Я навскидку не помню, что возвращает prompt при нажатии "Отмена". Читайте документацию.
    Но уж точно не надо преобразовывать возвращаемое значение в число сразу же. Сначала надо проверить на отмену, и если да - то покинуть цикл.
    Ответ написан
    Комментировать
  • Как с бэкенда ловить ошибки на фронтенде?

    @Karpion
    1. Поставьте на фронте проверку корректности полей. Лучше не доводить до ошибки вообще.
    2. Я не понял, кто на бэке определяет ошибку. И что вообще за ошибка.
    Ответ написан
    Комментировать
  • Как преобразовать время в секунды на javascript?

    @Karpion
    ((количество_суток*24+количество_часов)*60+количество_минут)*60+количество_секунд

    Я так понял, в школе математику совсем изучать перестали...
    Ответ написан
    Комментировать
  • Конкатенация строк?

    @Karpion
    Я не понял вопроса. Откуда берутся эти строки?
    После объединения - разделить обратно уже нельзя, поскольку в переменной I утрачена информация о границе склейки. Но можно, если эта информация где-то сохранилась - например, в виде длины хотя бы одной из исходных строк.
    Ответ написан
    Комментировать
  • Как сделать свечение?

    @Karpion
    Самый традиционный способ = анимированный GIF.
    Ответ написан
    Комментировать
  • Как правильно организовать проверку мат. условия?

    @Karpion
    Для начала приведите примеры того, что там м.б.; a1 и b1 - это константы или выражения с переменными? А то ведь возможны выражения типа sin(x)<=1 для любого x - но компьютер может утомиться это доказывать.
    Ответ написан
  • Как заблокировать input при вводе определенного слова?

    @Karpion
    Ну, надо поставить обработчик события - типа onChange; в этом обработчике проверять что хочется и делать что надо. Собственно, почитайте, какие обработчики можно повесить на input - и выбирайте самый подходящий.
    Ответ написан
    Комментировать
  • Какой лучше делать нейминг для файлов?

    @Karpion
    Смотря для чего Вы делаете.

    Если это проект, который Вы собираетесь делать долго (например, по дополнительному контракту апгрейдить) - то надо называть полными именами, чтобы было понятно, что там. Аналогично - если Вы хотите оставить о себе добрую память.

    А вот если Вы хотите, чтобы никто, кроме Вас, не мог разобраться - то надо давать странные имена. И никаких комментариев не оставляйте - ни внутри этих файлов, ни в отдельных файлах на этом же сайте, ни в отдельной документации. А у себя в записной книжечке - иметь таблицу, где будет написано, какой файл для чего нужен. Тогда любой, кого возьмут Вам на смену - запросит большие деньги, чтобы разобраться. Ну и соответственно, работодатель с высокой вероятностью обратится к Вам.
    Ответ написан
    Комментировать
  • Рекурсивное умножение разрядов целого числа, как узнать количество вызовов функции?

    @Karpion
    Если человек не умеет работать с циклами, то браться за рекурсию ему не следует.
    В данном случае лучше всего - цикл while(x>9) { ... }. Внутри цикла надо использовать операции "mod 10" (остаток отделения на десять - для получения последней цифры) и "div 10" (остальная часть числа) - и так, извлекая цифры по очереди, перемножать их.
    Ответ написан
    Комментировать