天天看点

JavaScript高阶函数高阶函数是什么?函数函数表达式函数表达式与普通函数的区别什么是回调函数

JavaScript高阶函数

  • 高阶函数是什么?
  • 函数
    • 具名函数
    • 匿名函数
  • 函数表达式
  • 函数表达式与普通函数的区别
          • 1.普通函数的声明与调用没有先后顺序,推荐做法是先声明再调用
          • 2.函数表达式必须要先声明再调用
  • 什么是回调函数
            • 回调函数的使用场景

高阶函数是什么?

高阶函数可以被简单理解为函数的高级应用,JavaScript中函数可以被当成值来对待,基于这个特性实现函数的高级应用

值就是 JavaScript中的数据,如数值,字符串,布尔值,对象

函数

函数分为具名函数和匿名函数

具名函数指函数要有具体的名称,匿名函数是没有名字的函数

具名函数

function fun() {
        console.log('fun函数执行中。。。')
      }
      fun()
           

匿名函数

有关键词 function, 有小括号,有大括号,就是没有函数名

function () {
        console.log('函数执行中。。。')
      }
           

函数表达式

将函数赋值给变量即函数表达式

let fn = function () {
        console.log('fn函数执行中。。。')
      }
           

函数表达式与普通函数的区别

函数表达式与普通函数并没有本质上的区别

1.普通函数的声明与调用没有先后顺序,推荐做法是先声明再调用
// 先声明后调用
function fun() {
        console.log('fun函数执行中。。。')
      }
      fun()
 // 先调用后声明
 fun()
 function fun() {
        console.log('fun函数执行中。。。')
      }
           
2.函数表达式必须要先声明再调用
//声明函数
let fn = function () {
        console.log('fn函数执行中。。。')
}
// 调用函数
 fn()
//先调用 后声明   这样是不可以的
 fn() 
 let fn = function () {
        console.log('fn函数执行中。。。')
}
           

什么是回调函数

如果将函数 A 做为参数传递给函数 B 时

我们称 函数 A 为回调函数

大白话 就是

当一个函数当作参数来传递给另一个函数的时候, 这个函数就是回调函数

回调函数的使用场景

function fun() {
        console.log('fun函数执行中。。。')
      }
      setInterval(fun,1000)
      // 此时fun就是回调函数
           

最简单的回调函数

let fn = function () {
        console.log('fn函数执行中。。。')
      }
      function getFn(callback) {
        console.log('getFn函数执行中。。。')
        callback()
      }
      getFn(fn)
           

继续阅读