1. 程式人生 > 其它 >JavaScript ES6 - 高階函式

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>