什么是函数?函数分为几种,如何声明?区别是什么?

函数是一段封装了特定功能的可重复使用的代码块。它接受一个或多个输入参数,执行一些操作,然后返回结果。在 JavaScript 中,函数也是一种对象类型,可以像其他对象一样进行传递、赋值、作为参数和返回值等操作。

在 JavaScript 中,函数分为两种主要类型:函数声明和函数表达式。

1. 函数声明:
   - 使用 `function` 关键字定义,后面跟着函数名和一对圆括号。
   - 函数名可以用于递归调用和函数表达式中的命名函数。
   - 函数声明会被提升到当前作用域的顶部,因此可以在函数声明之前调用。

   示例:
   

function add(a, b) {
  return a + b;
}

2. 函数表达式:
   - 使用 `function` 关键字定义,但省略了函数名。
   - 函数被赋值给一个变量或属性,或者作为函数参数传递。
   - 可以使用命名函数表达式来在函数内部递归调用自己。

   示例:
   

var add = function(a, b) {
  return a + b;
};

这两种函数类型的区别在于函数声明会被提升到当前作用域的顶部,而函数表达式则不会。因此,在函数声明之前调用该函数是有效的,但在函数表达式之前调用该函数会导致错误。

此外,还有以下两种函数类型:

3. 箭头函数:
   - 使用箭头语法定义,省略了 `function` 关键字和大括号。
   - 可以省略圆括号和花括号,如果只有一个参数和一条语句的话。
   - 箭头函数没有自己的 `this`,它们继承了父级作用域的 `this` 值。

   示例:
   

var add = (a, b) => a + b;

4. 生成器函数:
   - 使用 `function*` 关键字定义,后面跟着函数名和一对圆括号。
   - 函数内部包含 `yield` 关键字,可以在执行过程中暂停并返回一个值。
   - 生成器函数返回一个迭代器对象,可以使用 `next()` 方法逐个获取生成的值。

   示例:
   

function* fibonacci() {
  var a = 0, b = 1;
  while (true) {
    yield a;
    [a, b] = [b, a + b];
  }
}

var fib = fibonacci();
console.log(fib.next().value); // 输出: 0
console.log(fib.next().value); // 输出: 1
console.log(fib.next().value); // 输出: 1
console.log(fib.next().value); // 输出: 2
// ...

这些是 JavaScript 中常见的函数类型。选择何种类型的函数取决于具体需求和代码风格。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值