[a,b] = [b, a+b]
在这里不起作用,a b始终为0和1。
如果使用临时变量交换值,则可以。
function fibonacciSequence() {
let [a, b, arr] = [0, 1, []]
while (a <= 255) {
arr.concat(a)
[a, b] = [b, a + b]
console.log(a, b) // always 0 1
}
}
console.log(fibonacciSequence())
答案 0 :(得分:6)
问题在于,自动分号插入未达到您的期望。它之间没有添加分号
arr.concat(a)
和
[a, b] = [b, a + b]
所以它就像您写过一样
arr.concat(a)[a, b] = [b, a + b]
显式添加所有分号,您将获得正确的结果。
function fibonacciSequence() {
let [a, b, arr] = [0, 1, []];
while (a <= 255) {
arr.concat(a);
[a, b] = [b, a + b];
console.log(a, b); // always 0 1
}
}
console.log(fibonacciSequence())
答案 1 :(得分:0)
您也可以使用以下功能:
function fibonacciSequence() {
let [a, b] = [0, 1];
while (a <= 255) {
b = a + b;
a = b - a;
console.log(a,b);
}
}
fibonacciSequence();