JavaScript ES6 - 高阶函数

高阶函数 - 函数可以作为参数传递

<script>
  //函数作为参数传递
  function animate(callback){
    callback&&callback()
  }
  //被当作参数的函数
  function callback(){
    alert("我是一个回调函数")
  }
  //调用
  animate(callback)
</script>

 

高阶函数 - 闭包

闭包就是一个作用域可以访问另外一个作用域中的变量,这就是闭包,是一种现象

<script>
  //函数中可以定义函数
  function a(){
    var num=10
    function b(){
      console.log(num)
    }
    //调用函数
    b()
  }
  //调用函数
  a()
</script>

函数也可以被返回这是闭包的实现方式之一

<script>
  //函数中可以定义函数
  function a(){
    var num=10
    function b(){
      console.log(num)
    }
    //返回函数
    return b
  }
  //调用函数返回b函数
  var b=a()
  //调用b函数
  b()
</script>

 

高阶函数 - 递归

递归就是方法自己调用自己,类似与循环

<script>
  function total(num){
    if(num>0){
      console.log(Date.now(),num--)
      total(num)
    }
  }
  total(10)
</script>

 

posted on 2022-05-18 15:14  每天积极向上  阅读(54)  评论(0编辑  收藏  举报

导航