javascript-变量作为数组?
JavaScript如何将变量“存储”为数组?为什么s变量不会在这行中被覆盖 变量编号=promptfibonacci var fibo=函数n{ 如果n==1{ 返回[0,1]; }否则{ var s=菲本-1; s、 推力[s.长度-1]+s[s.长度-2]; 返回s; } } console.logfibonumber; s、 推力[s.长度-1]+s[s.长度-2] 仅将写入推送到数组左侧 同一行上的其他操作仅从右侧读取javascript-变量作为数组?,javascript,arrays,recursion,Javascript,Arrays,Recursion,JavaScript如何将变量“存储”为数组?为什么s变量不会在这行中被覆盖 变量编号=promptfibonacci var fibo=函数n{ 如果n==1{ 返回[0,1]; }否则{ var s=菲本-1; s、 推力[s.长度-1]+s[s.长度-2]; 返回s; } } console.logfibonumber; s、 推力[s.长度-1]+s[s.长度-2] 仅将写入推送到数组左侧 同一行上的其他操作仅从右侧读取 我建议您先从基础开始,然后再从递归函数开始。Push不会覆盖数组
我建议您先从基础开始,然后再从递归函数开始。Push不会覆盖数组,而只是将新项添加到数组的末尾
var s = [0, 1];
var lastItem = s[s.length - 1]; // 1
var itemBeforeLast = s[s.length - 2]; // 0
var sum = lastItem + itemBeforeLast; // 1
s.push(sum); // s is now [0, 1, 1]
请阅读,它将添加到数组中,因此s.push只是添加,而不是删除。这只是因为它更容易计算斐波那契值。检查数组行为:push向s数组追加一个值;在执行推送之前计算此值。这是一个初学者编程问题,不是理解斐波那契的问题。。。
var s = [0, 1];
var lastItem = s[s.length - 1]; // 1
var itemBeforeLast = s[s.length - 2]; // 0
var sum = lastItem + itemBeforeLast; // 1
s.push(sum); // s is now [0, 1, 1]