JavaScript 函数表达式是一种将函数作为值进行赋值或传递的方式。
函数表达式的语法
函数表达式的语法格式为:变量名 = function() {}
其中,变量名可以接受任何有效的 JavaScript 变量名。而函数表达式的主体内容则放在花括号中,可以包含任何有效的 JavaScript 语句和表达式。
下面是一个简单的例子:
var func = function() {
console.log("Hello World");
}
func(); // 输出 "Hello World"
匿名函数表达式
我们可以使用函数表达式来定义一个匿名函数,即没有函数名的函数。
var func = function() {
console.log("Hello World");
}
func(); // 输出 "Hello World"
这个匿名函数表达式可以直接作为参数传递给其他函数或作为事件处理程序。
命名函数表达式
我们也可以给函数表达式起一个名字(就像函数声明一样),这就叫做命名函数表达式。
var func = function sayHello() {
console.log("Hello World");
}
func(); // 输出 "Hello World"
在这个例子中,函数表达式被命名为 sayHello
。函数 func
作为变量名来引用这个函数表达式,而不是函数名 sayHello
。
优点和用途
函数表达式的优点和用途有以下几点:
- 可以将函数作为参数传递给其他函数;
- 可以创建一个匿名函数,用于事件处理程序或其他需要动态创建函数的场合;
- 可以将函数作为对象的属性,用于创建对象的方法;
- 函数表达式可以做到函数声明不行的一些事情,比如函数的惰性加载。
下面是一个将函数表达式作为参数传递给其他函数的例子:
function doSomething(callback) {
console.log("Before callback");
callback();
console.log("After callback");
}
doSomething(function() {
console.log("Inside callback");
});
在这个例子中,我们定义了一个 doSomething
函数,它接受一个回调函数 callback
。我们可以将一个函数表达式作为参数传递给 doSomething
函数,这个函数表达式就成了回调函数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:老生常谈JavaScript 函数表达式 - Python技术站