#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
массив.