js function定义函数的几种不错方法


在JavaScript中,定义函数有几种常见且实用的方法。下面是一些不错的函数定义方式:

### 1. 函数声明(Function Declaration)

这是最基础也是最常见的定义函数的方式。使用`function`关键字后跟函数名和参数列表,以及函数体。


function greet(name) {
  return "Hello, " + name + "!";
}

### 2. 函数表达式(Function Expression)

函数表达式可以存储在变量中,或者作为参数传递给其他函数,甚至作为其他函数的返回值。


const greet = function(name) {
  return "Hello, " + name + "!";
};

// 或者使用箭头函数(ES6+)
const greetArrow = (name) => `Hello, ${name}!`;

### 3. 立即执行函数表达式(Immediately Invoked Function Expression, IIFE)

这是一种在定义后立即执行的函数表达式。常用于创建独立的作用域,避免全局污染。


(function() {
  // 这里是函数体
  console.log("This function runs immediately.");
})();

// 使用箭头函数版本(ES6+)
(() => {
  // 这里是函数体
  console.log("This arrow function runs immediately.");
})();

### 4. 构造函数(虽然不常用作普通函数定义,但提及一下)

构造函数通常用于创建具有特定属性和方法的对象。它们使用`new`关键字被调用。


function Person(name) {
  this.name = name;
  this.greet = function() {
    return "Hello, " + this.name + "!";
  };
}

const person = new Person("Alice");
console.log(person.greet());

### 5. 类的方法(ES6+)

在ES6及更高版本中,可以使用类来定义具有方法的对象。


class Person {
  constructor(name) {
    this.name = name;
  }

  greet() {
    return `Hello, ${this.name}!`;
  }
}

const person = new Person("Bob");
console.log(person.greet());

每种方法都有其适用场景,你可以根据具体需求选择最合适的一种。