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

函数声明和函数表达式是在 JavaScript 中创建新函数的两种基本方式。它们的主要区别在于它们的名称、语法和提升行为。

函数声明使用 function 关键字,后跟函数名和函数体。例如:

function myFunction() {
    console.log("Hello, World!");
}

函数声明会被 JavaScript 引擎提升到它们所在的作用域的顶部。这意味着你可以在声明之前调用这个函数。例如:

myFunction(); // 输出 "Hello, World!"

function myFunction() {
    console.log("Hello, World!");
}

函数表达式创建一个函数并将其赋值给一个变量。函数可以是匿名的,也可以有名字。例如:

let myFunction = function() {
    console.log("Hello, World!");
}

或者:

let myFunction = function namedFunction() {
    console.log("Hello, World!");
}

函数表达式不会被提升,这意味着你必须在调用函数之前定义它。例如:

myFunction(); // 报错:myFunction is not defined

let myFunction = function() {
    console.log("Hello, World!");
}

因此,你选择使用函数声明还是函数表达式主要取决于你是否需要函数提升和是否需要使用函数名。

发表评论

后才能评论