函数定义作为值的讲解

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月10日 00:30
下一篇 2025年4月3日 13:43

相关推荐

  • HTML文件路径

    绝对路径 描述 <img src=”https://www.example.com/picture.jpg”> 在 https://www.example.com/ 绝对路径下 相对路径 描述 <img src=”picture.jpg”> 在包含<img>元素的 HTML 文件的所在目录下 <…

    JavaScript经验 2023年10月11日
    05760
  • JavaScript语言的成员名

    支持类的成员:静态字段、静态访问器属性、静态方法、实例字段、实例访问器属性、实例方法。 支持对象字面量的成员:数据属性、访问器属性、方法。 成员名的类型只可以为 字符串类型(包括空字符串) 或者 符号类型。 注意:此处成员名用于“成员声明”的时候,而不是“访问成员”的时候。 实际上,比较两个成员名是否相等采用的是相等 …

    JavaScript经验 2025年4月3日
    0520
  • JavaScript语言的属性简写

    在对象字面量创建对象方式中,当属性名和代表属性值的变量名相同时,可以省略属性名以及紧跟在属性名后面的冒号,只使用变量名。 注意:类没有属性简写语法。 当对象字面量作为函数的返回值时,也支持属性简写。

    JavaScript经验 2025年4月3日
    0520

发表回复

登录后才能评论