记录学习第一天

97 阅读2分钟

首日学习心得

arguments的概念及使用:

1.概念

arguments在(非箭头)函数中的一个局部变量,是一个array-Like类型的对象,但可以使用arguments.length来获取长度,其中包含了所有调用函数时穿的入参

2.用法

es5中常用,es6中不常用,可以用作参数个数不明确时但又需要获取入参时使用,他可以用来接收多余参数

例如: foo(89,18) function foo(){ let sum = 0; for(let i=0;i<arguments.length;i++){ sum+=arguments[i] } console.log(sum) }

3.额外补充

对象和数组都可以采用[]索引的方式获取对应的值

递归含义及应用

1.含义

顾名思义,函数自己调用自己

优点:比for循环逻辑清晰,代码量少

缺点:比for循环消耗性能

使用场景:追求性能用for循环,函数执行所需性能低用递归,但使用递归一定要有截止条件,防止无限循环,导致崩溃

例子:斐波那契数列的应用(面试题)

斐波那契数列即有如下数列:从第三位开始后一位为前两位的和,求第n位对应数字是:

1 1 2 3 5 8 13 21 34 55

使用递归实现:

思路:斐波那契数列为从第三位开始前两位的和,即第n为n-1和n-2的和

使用for循环实现:

思路:斐波那契数列为从第三位开始前两位的和,即第n为n-1和n-2的和,假设先写前三个 n1= 1 n2=2 求第三位则为n1+n2,如此可以使用游标的方式来求出n-1和n-2的和

今天先这么多,明天继续.......