返回

JS 函数表达式与函数声明解读

前端

前言

JavaScript 函数表达式与函数声明是定义函数的两种不同方式。函数表达式使用 var 或 let 关键字声明,而函数声明使用 function 关键字声明。函数表达式和函数声明都可以用于定义命名函数和匿名函数。

函数表达式的定义和使用

函数表达式使用 var 关键字或 let 关键字声明,后面跟函数名、参数列表和函数体。函数体是包含函数代码的代码块。

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

在这个例子中,sum 是一个变量名,给这个变量赋值的函数没有名称,因此它是匿名函数。函数体是包含函数代码的代码块,它使用 return 语句返回函数的结果。

函数表达式也可以用于定义命名函数。

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

在这个例子中,sum 是一个变量名,给这个变量赋值的函数名为 add。函数体是包含函数代码的代码块,它使用 return 语句返回函数的结果。

函数声明的定义和使用

函数声明使用 function 关键字声明,后面跟函数名、参数列表和函数体。函数体是包含函数代码的代码块。

function sum(a, b) {
  return a + b;
}

在这个例子中,sum 是一个函数名,它接收两个参数 a 和 b,并返回它们的和。函数体是包含函数代码的代码块,它使用 return 语句返回函数的结果。

函数声明也可以用于定义命名函数。

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

在这个例子中,add 是一个函数名,它接收两个参数 a 和 b,并返回它们的和。函数体是包含函数代码的代码块,它使用 return 语句返回函数的结果。

函数表达式与函数声明的区别

函数表达式与函数声明的主要区别在于函数表达式的定义必须在调用前,而函数声明的方式则不限制声明与调用的顺序。

// 函数表达式
var sum = function(a, b) {
  return a + b;
};

// 函数声明
function add(a, b) {
  return a + b;
}

// 调用函数表达式
var result = sum(1, 2);

// 调用函数声明
var result = add(1, 2);

在这个例子中,函数表达式必须在调用前定义,而函数声明可以在调用前或调用后定义。

结论

函数表达式与函数声明是 JavaScript 中定义函数的两种不同方式。函数表达式使用 var 关键字或 let 关键字声明,而函数声明使用 function 关键字声明。函数表达式和函数声明都可以用于定义命名函数和匿名函数。函数表达式的定义必须在调用前,而函数声明的方式则不限制声明与调用的顺序。