2
对于下面的斐波那契的功能,它的工作原理不是这个for循环按预期方式工作:为什么当我简单的改变两个表达的顺序
function fibonacci(n) {
var nums = []
var a = b = 1
for (let i = 0; i < n; i++) {
[a, b] = [b, a + b]
nums.push(a)
}
return nums
}
console.log(fibonacci(5));
// outputs: [1,2,3,5,8]
但之后,我改变了两个语句顺序,这是行不通的:
function fibonacci(n) {
var nums = []
var a = b = 1
for (let i = 0; i < n; i++) {
nums.push(a)
[a, b] = [b, a + b]
}
return nums
}
console.log(fibonacci(5));
// outputs: [1,1,1,1,1]
它有什么问题?
你需要分号。 – 4castle
@ 4castle这真的有用,但分号丢失时发生了什么? –
javascript尝试最好猜测你想把分号放在哪里 - 它会得到它的错误 - 用新的语法(比如你的'[a,b] = [b,a + b]'),它可能更容易出错不......道德的故事...... **总是用分号** –