📜  JavaScript 中“函数声明”和“函数表达式”的区别

📅  最后修改于: 2022-05-13 01:56:20.093000             🧑  作者: Mango

JavaScript 中“函数声明”和“函数表达式”的区别

JavaScript 中的函数允许我们执行一些操作、重要决策或计算,甚至使我们的网站更具交互性。我们大多数编码爱好者都知道函数是什么。但是我们知道函数声明和函数表达式有什么区别吗?本文让我们了解“函数声明”和“函数表达式”之间的区别。相似之处在于都使用关键字函数 ,最显着的区别是函数声明有一个函数名,而后者没有。

函数声明:

  • 函数声明也称为函数语句,使用函数关键字声明函数。函数声明必须有函数名。
  • 函数声明不需要变量赋值,因为它们是独立的构造,它们不能嵌套在功能块内。
  • 这些在任何其他代码之前执行。
  • 函数声明中的函数可以在函数定义之前和之后访问。

句法:

function geeksforGeeks(paramA, paramB) {
    // Set of statements
}

函数表达式:

  • 函数表达式类似于没有函数名的函数声明。
  • 函数表达式可以存储在变量赋值中。
  • 函数表达式仅在程序解释器到达代码行时加载和执行。
  • 函数声明中的函数只有在函数定义之后才能访问。

句法:

var geeksforGeeks= function(paramA, paramB) {
    // Set of statements
}

示例 1:函数声明

下面的示例说明了一个函数声明,我们在其中将两个数字相加。

HTML


  

    Function Declaration

  

    

GFG

    

Function Declaration

          


HTML


  

    Function Declaration

  

    

GFG

    

Function Expression

          


输出:

示例 2:函数表达式

下面的示例说明了一个函数表达式,我们在其中将两个数字相加。

HTML



  

    Function Declaration

  

    

GFG

    

Function Expression

          

输出:

函数声明和函数表达式的区别:

 Function DeclarationFunction Expression
1.A function declaration must have a function name.A function Expression is similar to a function declaration without the function name.
2.Function declaration does not require a variable assignment. Function expressions can be stored in a variable assignment.
3.These are executed before any other code.Function expressions load and execute only when the program interpreter reaches the line of code.
4.The function in function declaration can be accessed before and after the function definition.The function in function declaration can be accessed only after the function definition.
5.Function declarations are hoistedFunction expressions are not hoisted
6.Syntax:
function geeksforGeeks(paramA, paramB) {
// Set of statements
}
Syntax:
var geeksforGeeks= function(paramA, paramB) {
// Set of statements
}