JavaScript 函数声明和函数表达式的区别
JavaScript中的函数允许我们执行一组操作、做出重要决策或进行计算,甚至可以使我们的网站更加交互。大多数我们这些编码爱好者都知道什么是函数。但是我们知道“函数声明”和“函数表达式”的区别吗?本文将让我们了解“函数声明”和“函数表达式”的区别。相似之处在于两者都使用了关键字function,最显著的区别是函数声明有一个函数名,而后者没有。
函数声明:
- 函数声明也被称为函数语句,使用函数关键字声明一个函数。函数声明必须有一个函数名称。
- 函数声明不需要变量赋值,因为它们是独立的结构,不能嵌套在功能块内部。
- 这些在任何其他代码之前执行。
- 函数声明中的函数可以在函数定义之前和之后访问。
语法:
function geeksforGeeks(paramA, paramB) {
// Set of statements
}
函数表达式:
- 函数表达式类似于函数声明,但没有函数名。
- 函数表达式可以存储在变量赋值中。
- 函数表达式只有在程序解释器到达代码行时才会加载和执行。
- 在函数表达式中,只有在函数定义之后才能访问函数。
语法:
var geeksforGeeks= function(paramA, paramB) {
// Set of statements
}
示例1:函数声明
以下示例说明了一个函数声明,我们在其中执行两个数字的加法。
HTML
<!DOCTYPE html>
<html>
<head>
<title>Function Declaration</title>
</head>
<body>
<h1 style="color:green">GFG</h1>
<h2>Function Declaration</h2>
<script>
// Function Declaration
function geeksforGeeks(paramA, paramB) {
return paramA + paramB;
}
var result = geeksforGeeks(5, 5);
document.write('Sum=', result);
</script>
</body>
</html>
输出:

示例2:函数表达式
以下示例演示了一个函数表达式,我们在这里对两个数字进行相加。
HTML
<!DOCTYPE html>
<html>
<head>
<title>Function Declaration</title>
</head>
<body>
<h1 style="color:green">GFG</h1>
<h2>Function Expression</h2>
<script>
// Function Expression
var geeksforGeeks = function (paramA, paramB) {
return paramA + paramB;
}
var result = geeksforGeeks(5, 5);
document.write('Sum=', result);
</script>
</body>
</html>
输出:

函数声明和函数表达式的区别:
| ID | 函数声明 | 函数表达式 |
|---|---|---|
| 1. | 函数声明必须有一个函数名。 | 函数表达式类似于没有函数名的函数声明。 |
| 2. | 函数声明不需要变量赋值。 | 函数表达式可以存储在变量赋值中。 |
| 3. | 这些在任何其他代码之前执行。 | 函数表达式仅在程序解释器到达代码行时加载和执行。 |
| 4. | 函数声明中的函数可以在函数定义之前和之后访问。 | 函数表达式中的函数只能在函数定义之后访问。 |
| 5. | 函数声明被提升 | 函数表达式不被提升 |
| 6. | 语法: function geeksforGeeks(paramA, paramB) { // 一组语句 } | 语法: var geeksforGeeks= function(paramA, paramB) { // 一组语句 } |
极客教程