[JavaScript] 回调、匿名和递归函数的简单介绍

回调函数(Callback Functions):在JavaScript中,回调函数是作为参数传递给其他函数的函数。当执行某个操作完成后,主函数将调用回调函数来处理结果。这种机制常用于异步编程,例如处理AJAX请求或定时器事件。

以下是一个简单的示例,其中回调函数用于处理异步请求的结果:

function fetchData(callback) {
  // 模拟异步请求
  setTimeout(function() {
    const data = '这是从服务器获取的数据';
    callback(data); // 调用回调函数处理数据
  }, 2000);
}

function processData(data) {
  console.log('处理数据:', data);
}

fetchData(processData); // 将回调函数传递给fetchData函数

匿名函数(Anonymous Functions):匿名函数是没有名称的函数,它们可以被直接定义和使用。通常作为回调函数、立即执行函数或函数表达式中的函数。

以下是一个使用匿名函数作为回调函数的示例:

setTimeout(function() {
  console.log('2秒后执行的匿名函数');
}, 2000);

匿名函数还可以通过赋值给变量或作为立即执行函数使用:

const greet = function(name) {
  console.log('Hello', name);
};

greet('Alice'); // 输出: Hello Alice

// 立即执行函数
(function() {
  console.log('这是一个立即执行函数');
})();

 递归函数(Recursive Functions):递归函数是在函数体内调用自身的函数。通过这种方式,函数可以重复执行相同的操作,直到满足特定条件为止。

以下是一个计算阶乘的递归函数示例:

function factorial(n) {
  if (n === 0) {
    return 1; // 基准条件
  } else {
    return n * factorial(n - 1); // 递归调用
  }
}

console.log(factorial(5)); // 输出:120

递归函数需要注意设置基准条件(停止递归)以避免无限循环,并确保每次递归调用都朝着基准条件靠近。

猜你喜欢

转载自blog.csdn.net/wuzhangting/article/details/132446709
今日推荐