📌  相关文章
📜  解释函数 foo() {} 和 var foo = 函数() {} 对 foo 用法的区别

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

解释函数 foo() {} 和 var foo = 函数() {} 对 foo 用法的区别

在这里,我们看到了函数 foo() {}var foo = 函数() {} 在 foo 用法上的区别。
函数 foo() {}是一个普通函数或函数声明,而var foo = 函数() {}是一个匿名函数或表达式函数,或者简单地说,它也可以说明它是一个变量,其中包含一个函数因此,该变量将不再处于变量状态,它最终成为一个可访问的函数本身。现在让我们看看差异:

1. 按名称:
当我们在函数名之前使用函数关键字时,这称为普通函数或函数声明。
当我们使用不带函数名的函数关键字时,这称为匿名函数或表达式函数。

普通函数或函数声明:这里foo是函数名。

function foo() {
    // Function Body
} 

匿名函数或表达式函数:这里 该函数使用 var 存储在变量foo中。

var foo = function() {
    // Function Body
}

我们经常把匿名函数写成箭头函数,ES6已经引入(推荐)。

var foo = () => {
    // Function Body
}

2.实现:这里我们看看普通函数和匿名函数中函数的调用方法。当调用任何普通函数或匿名函数(包装在任何变量中)时,它的调用方式与调用普通函数的方式相似。

普通函数或函数声明:这里我们使用 调用整个函数的函数“foo”的名称。

Javascript


Javascript


Javascript


Javascript


Javascript
let foo  = () => {
    console.log("Hello World...!!");
}
 
foo();
 
// This code is contributed by Aman Singla....


Javascript


Javascript


Javascript
let foo  = (x , y) => {
    console.log(x + y);
}
 
foo( 7 , 8);
 
// This code is contributed by Aman Singla....


Javascript


输出:

hello

在这里,我们可以在声明函数之前或之后调用函数“foo”。这意味着我们可以在代码中任意位置声明函数。

Javascript


输出:

hello

匿名函数或表达式函数:这里我们使用变量 foo 来调用整个函数。

Javascript


输出:

hello

在这里,如果我们在声明函数之前调用函数,我们会得到一个错误。

Javascript


输出:

TypeError: foo is not a function 

现在让我们看看以下使用箭头函数语法(在 ES6 中)实现的实现。

Javascript

let foo  = () => {
    console.log("Hello World...!!");
}
 
foo();
 
// This code is contributed by Aman Singla....

输出:

Hello World...!!

3. 传递参数:这里我们将看到如何在函数中传递参数。

普通函数或函数声明:这里我们只在通过函数名调用整个函数时才传递参数。  

Javascript


输出:

4

匿名函数或表达式函数:这里我们只在通过变量名调用整个函数时才传递参数。

Javascript


输出:

4

以下是使用箭头函数语法的上述代码片段的实现:-

Javascript

let foo  = (x , y) => {
    console.log(x + y);
}
 
foo( 7 , 8);
 
// This code is contributed by Aman Singla....

输出:

15

4. 自执行函数:这里,当函数被创建时,该函数被立即调用。这里我们使用匿名函数。

Javascript


输出:

5