我正在尝试编写代码来计算斐波那契序列,但由于某种原因,它不会从 for 语句外部分配变量。这是我的代码:
let out = [];
let number1 = 1;
let number2 = 0;
function fibonacci(num1, num2) {
for (let i = 1; i < (5) + 1; i++) {
let num3 = 0;
num3 = num1 + num2;
out.push(num3);
//this is testing outputs
console.log(`${i} num1 ${num1}`);
console.log(`${i} num2 ${num2}`);
console.log(`${i} num3 ${num3}`);
console.log(`${i} out ${out}`);
//end testing outputs
number2 = number1;
num3 = number1
}
};
document.getElementById("but").onclick = function run() {
fibonacci(number1, number2);
document.getElementById("output").textContent = out;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>replit</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<label>Fibonacci sequence</label><br>
<button id='but'>Start</button>
<div id='output'></div>
<script src="script.js"></script>
</body>
</html>
我尝试更改变量并删除名为变量的函数。一开始它会给我输出未定义的和 0,但现在它给我的都是 1。谁能帮助我。
这里是更新的JS
let out = [];
let number1 = 1;
let number2 = 0;
function fibonacci(num1, num2) {
out = []; // Reset the output array
for (let i = 1; i <= 5; i++) {
let num3 = num1 + num2;
out.push(num3);
// Update num1 and num2 for the next iteration
num2 = num1;
num1 = num3;
}
}
document.getElementById("but").onclick = function run() {
fibonacci(number1, number2);
document.getElementById("output").textContent = out.join(', ');
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>replit</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<label>Fibonacci sequence</label><br>
<button id='but'>Start</button>
<div id='output'></div>
<script src="script.js"></script>
</body>
</html>