函数表达式(Function Expression)是 JavaScript 中的一种函数定义方式,与函数声明(Function Declaration)相比,函数表达式更加灵活,且可以匿名定义。
函数表达式特点
- 匿名性:函数表达式可以不指定函数名,这使得函数可以匿名存在。
- 提升:函数表达式会在代码执行前被提升到其所在作用域的顶部,但变量不会。
- 作用域:函数表达式中的变量会创建一个闭包(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