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

    sM0kfyz
    @sM0kfyz
    Frontend dev.
    Не так то, что date - это обычный массив js, который содержит обычный текст, если судить по вашей первой строчке. А у этих объектов нет таких методов.
    Ответ написан
  • Как это работает (алгоритм с использованием рекурсии для вычисление числа Фибоначчи)?

    sM0kfyz
    @sM0kfyz
    Frontend dev.
    Во время выполнения кода в оперативной памяти создается вспомогательная структура называемая стеком. Она работает по принципу LIFO - последний вошел - первый вышел. Когда вы вызываете функцию некоторые ее данные добавляются в стек - аргументы, расположение в памяти, адрес возврата (вообще эти данные зависят от реализации).
    То есть когда вы вызвали getFibonachi(8) в стеке создалась запись о этом вызове. При этом n == 8. То есть мы попадаем в else и вызываем getFibonachi(7). Теперь стек имеет запись о двух функциях. И т.д. До тех пор пока n == 1. Тогда функция вернет 1. Эта последняя функция удаляется из стека. То есть на этом этапе стек содержит функции:
    getFibonachi(2)
    getFibonachi(3)
    getFibonachi(4)
    getFibonachi(5)
    getFibonachi(6)
    getFibonachi(7)
    getFibonachi(8)
    Мы возвращаемя к выполнению функции вызванной с аргументом 2. В этот момент мы рассчитывали функцию getFibonachi(1) (она была успешно вычислена и вернула 1) и теперь переходим к второму слагаемому. getFibonachi(0) (т.к n==2). Она возвращает 0. Теперь мы можем вычислить функцию getFibonachi(2), потому что мы уже получили значения от двух функций, которые были вызваны в блоке else. getFibonachi(2) вернет 1 (1+0=1) и удалится из стека. Теперь он выглядит так:
    getFibonachi(3)
    getFibonachi(4)
    getFibonachi(5)
    getFibonachi(6)
    getFibonachi(7)
    getFibonachi(8)
    Продолжаем выполнение функции с вершины стека. И так далее пока все функции не вернут значения)) Более подробно гуглите: стек вызовов функции. Немного криво, но как смог.
    Можете использовать дебаггер js в браузере. Чтобы визуализировать работу стека.
    Ответ написан
    2 комментария
  • LocalStorage создание и получение?

    sM0kfyz
    @sM0kfyz
    Frontend dev.
    Создание:
    document.getElementById("saveServer");
    localStorage.setItem("server", input.value);

    Получение:
    let storedValue = localStorage.getItem("server");

    Обработка клика:
    https://developer.mozilla.org/en/docs/Web/API/Even...

    Здесь есть работающий пример:
    https://stackoverflow.com/questions/49690182/set-t...
    Ответ написан
  • Как заставить срабатывать submit?

    sM0kfyz
    @sM0kfyz
    Frontend dev.
    var formsArray = [form1]
    Это что?

    Мне кажется, вам надо использовать такую конструкцию:
    $("form").toArray()
    Тогда в массиве будут сразу все формы на странице. Если надо отсеить, то можно использовать какой-нибудь data атрибут на нужных формах и выбрать в цикле только те формы, которые имеют этот атрибут.

    $data = currentForm.serialize();
    Заменить на
    var data = currentForm.serialize();
    И дальше везде в коде.
    Ответ написан
    2 комментария