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>