闭包和递归

本文详细介绍了闭包的概念,包括变量作用域、闭包的定义和作用,并通过实例展示了闭包在JavaScript中的应用场景。同时,探讨了递归的基本原理,如何利用递归计算阶乘、斐波那契数列以及遍历数据,强调了递归函数的退出条件以避免栈溢出错误。
摘要由CSDN通过智能技术生成

闭包和递归

1.闭包

1.1变量的作用域复习

变量根据作用域的不同分为两种:全局变量和局部变量。

  1. 函数内部可以使用全局变量。
  2. 函数外部不可以使用局部变量。
  3. 当函数执行完毕,本作用域内的局部变量会销毁。

1.2什么是闭包

闭包(closure)指有权访问另一个函数作用域中变量的函数。简单理解就是 ,一个作用域可以访问另外一个函数内部的局部变量。

1.3闭包的作用

作用:延伸变量的作用范围。

 function fn() {
   
   var num = 10;
   function fun() {
   
       console.log(num);
 	}
    return fun;
 }
var f = fn();
f();

1.4闭包的案例

  1. 利用闭包的方式得到当前li 的索引号
for (var i = 0; i < lis.length; i++) {
   
// 利用for循环创建了4个立即执行函数
// 立即执行函数也成为小闭包因为立即执行函数里面的任何一个函数都可以使用它的i这变量
(function(i) {
   
    lis[i].onclick = function() {
   
      console.log(i);
    }
 })(i);
}
  1. 闭包应用-3秒钟之后,打印所有li元素的内容

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值