函数表达式(Function Expression)是 JavaScript 中的一种函数定义方式,与函数声明(Function Declaration)相比,函数表达式更加灵活,且可以匿名定义。

函数表达式特点

  1. 匿名性:函数表达式可以不指定函数名,这使得函数可以匿名存在。
  2. 提升:函数表达式会在代码执行前被提升到其所在作用域的顶部,但变量不会。
  3. 作用域:函数表达式中的变量会创建一个闭包(Closure),可以访问其所在作用域的变量。

语法

var func = function() {
  // 函数体
};

或者

(function() {
  // 函数体
})();

示例

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

console.log(add(1, 2)); // 输出:3

闭包

闭包是函数表达式的一个特性,它允许函数访问其所在作用域的变量。

var counter = (function() {
  var count = 0;
  return function() {
    return count++;
  };
})();

console.log(counter()); // 输出:0
console.log(counter()); // 输出:1

扩展阅读

更多关于 JavaScript 函数表达式的知识,可以参考本站提供的 JavaScript 函数表达式详解

JavaScript