логика введения varuable в fibnacci, javascript

#javascript

#javascript

Вопрос:

пожалуйста, кто-нибудь может объяснить мне, как компьютер узнает в этом коде, что переменная «i» каким-то образом относится к массиву fib?Я не совсем понимаю логику этого

 function fibb(n) {
  var fib = [];
  if (n === 1) {
    fib = [0];
  } else
  if (n === 2) {
    fib = [0, 1];
  } else {
    fib = [0, 1];
    for (var i = 2; i < n; i  ) {
      fib.push(fib[fib.length - 2]   fib[fib.length - 1]);
    }
  } 

Комментарии:

1. Не вижу возвращаемого значения. Вы вставили весь код?

2. i никогда не ссылается на fib .

3. «то, что переменная «i» каким-то образом ссылается на массив fib» i не имеет ничего общего с fib и не используется для доступа / изменения элементов в fib

4. И, пожалуйста, исправьте формат (неполной) функции. Трудно читать и следить за ходом кода.

5. Похоже, учитель сказал «исправить этот» код. А теперь давайте поприветствуем froggy

Ответ №1:

Я предполагаю, что вы новичок в программировании. В коде i никогда не ссылается на массив fib . Происходит то, что for цикл повторяет внутренние инструкции n-2 раза, а внутренняя инструкция написана таким образом, что на нее никогда не нужно указывать i . Цикл внутри всегда добавляет последние 2 числа fib массива и добавляет в fib массив.