JS递归、垃圾回收机制、js报错类型及this指向

递归

—通俗来讲就是在一个函数体内调用该函数

  • 就拿斐波那契数列来讲递归,主要是找到规律,斐波那契数列的规律就是前两位加起来的和就是第三
function fn(x){
var num1 = 0;
var num2 = 1; // 这里是定义斐波那契数列的前两位 
var num3 = 0;//这里定义之和
for(var i =1;i<=x;i++){
num1 = num2;
num2 = num3;
num3 = num1 + num2; 
}
return num3;
}
console.log(fn(9))

— 这就是求出斐波那契数列的第九位可以通过这个规律来找到一个公式

function FB(x){
if(n == 1 || n == 2){
return 1
}
return FB(n - 1) + FB(n - 2)
}
console.log(FB(9))

—上面不算意义上的递归,下面这才是递归但是两个输出的结果是一样的
在这里插入图片描述

垃圾回收机制

  • 就是浏览器会周期性的找出不再使用的变量,将其的标记删除然后释放内存,所以垃圾回收机制会按照内存占用的大小来周期性的执行释放内存
  • 回收的方式:清楚标记和引用计数
  • 因为这个是无法控制的所以也不好演示,是浏览器根据占用内存来执行的

js的报错类型

—报错类型可以更快的帮助我们找到bug并处理掉

1. EvalError:eval() //使用和定义不一致的报错;
2. RangeError //使用的某个数值越界
3. SyntaxError //使用了非法或者不能被识别的引用数值
4. TypeError //某种类型的错误
5. URIError //URI处理函数使用的不当

this关键字

---- this无法被赋值
this是指向某个对象的

  • this在全局的作用下是直接指向window
  • 在其他的作用时,谁调用该函数this就指向谁
function fn(name){
            this.name=name;
            console.log(this.name);
            console.log(this);
        }
        var num = fn("李三")
  • 第一个this是指向fn、第二是指向window
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值