函数

Frontend SELF ZH
第 35 级 , 课程 2
可用

3.1 声明函数

函数是在 JavaScript 中的基础构建块之一。它们让你能组织代码、重用逻辑并创建更复杂的结构。我们来看看声明和使用函数的三种主要方式:函数声明、函数表达式和箭头函数。

函数声明 是创建一个命名函数的方式,可以在之后调用。这些函数会被提升(hoisted)到其作用域的顶部,这意味着你可以在代码中先调用它们。

语法:

    
      function name (arguments) {
        // 函数体
      }
    
  

使用示例:

JavaScript
    
      // 声明函数
      function greet(name) {
        return `Hello, ${name}!`;
      }

      // 调用函数
      console.log(greet('Alice')); // 输出: Hello, Alice!
    
  

3.2 函数表达式

函数表达式会创建匿名函数(没有名称的函数)且可以赋值给变量。这种函数不会被提升,因此只能在声明之后调用。

语法:

    
      const name = function (arguments) {
        // 函数体
      }
    
  

使用示例:

JavaScript
    
      // 函数表达式

      const greet = function(name) {
        return `Hello, ${name}!`;
      };

      // 调用函数
      console.log(greet('Bob')); // 输出: Hello, Bob!
    
  

3.3 箭头函数

箭头函数(arrow functions) 是一种简写方式,同时保存了从父作用域继承的 this 上下文。箭头函数没有自己的 this,所以在事件处理器和数组方法中特别有用。

语法:

    
      const name = (arguments) => {
        // 函数体
      }
    
  

如果函数仅有一个参数,可以省略圆括号。如果函数返回一个表达式,可以省略花括号和 return 关键字。

示例 1: 完整写法

JavaScript
    
      // 箭头函数

      const greet = (name) => {
        return `Hello, ${name}!`;
      };

      // 调用函数
      console.log(greet('Charlie')); // 输出: Hello, Charlie!
    
  

示例 2: 简写

JavaScript
    
      // 一个参数和一个表达式的箭头函数
      const greet = name => `Hello, ${name}!`;

      // 调用函数
      console.log(greet('Dana')); // 输出: Hello, Dana!
    
  

3.4 函数声明方式比较

提升(hoisting):

  • 函数声明: 函数会被提升,可在声明前调用
  • 函数表达式箭头函数: 不会被提升,仅能在声明后调用

this 上下文:

  • 函数声明函数表达式: 拥有自己的 this 上下文
  • 箭头函数: 没有自己的 this,上下文从父作用域继承

简洁性:

  • 箭头函数: 更简洁,常用于短函数和回调
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION