函数定义作为值的讲解

1.作为值赋给变量

function sum(num1, num2) {
  return num1 + num2;
}

console.log(sum(10, 10));  // 20

let anotherSum = sum;
console.log(anotherSum(10, 10));  // 20

2.作为函数的实参(回调函数)或返回值

接受一个回调函数作为实参 或 返回值为函数定义,只要满足其一,函数 callSomeFunction 和 函数 returnSomeFunction 则称为高阶函数(Higher Order Function)。

作为实参的函数定义 add 则称为回调函数(Callback Function)。

作为返回值的函数定义 add2 不一定是回调函数,具体取决于函数定义 add2 是否作为实参。

//作为实参(回调函数)
function callSomeFunction(someFunction, someArgument) {
  return someFunction(someArgument);
}

function add(num) {
  return num + 10;
}

console.log(callSomeFunction(add, 10));  // 20
//作为返回值
function returnSomeFunction() {
  function someFunction(num) {
    return num + 10;
  }
  return someFunction;
}

let add2 = returnSomeFunction();
console.log(add2(10));  // 20

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/javascriptexp/36625.html

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2025年3月15日 16:48
下一篇 17小时前

相关推荐

发表回复

登录后才能评论