📜  JavaScript |函数定义(1)

📅  最后修改于: 2023-12-03 15:16:08.375000             🧑  作者: Mango

JavaScript 函数定义

在 JavaScript 中,函数是一组指令、子程序或程序的代码块,它们可以在需要的时候被调用,而不是一遍又一遍地被重新编写。

函数定义的语法

函数定义的语法如下:

function functionName(parameters) {
   //函数体
}

其中:

  • function 关键字是必须的
  • functionName 是你为函数起的名字
  • parameters 是函数的参数,多个参数需要用逗号分隔
  • {} 内是函数体,不同于变量声明,必须在大括号内编写函数代码

下面来看一个简单的例子:

function sum(a, b) {
   return a + b;
}
调用函数

一旦函数被定义完成,你可以通过指定函数名并传递必要的参数来调用该函数。例如,要调用上面的 sum 函数,需要这样做:

let result = sum(1, 2);
console.log(result); // 输出 3
有返回值的函数

在 JavaScript 中,函数可以返回值,这有助于我们在需要获取函数执行结果的时候使用。

function multiply(a, b) {
   return a * b;
}

let result = multiply(2, 3);
console.log(result); // 输出 6
没有返回值的函数

如果函数不需要返回值,则可以省略 return 语句。下面是一个例子:

function sayHello(name) {
   console.log(`Hello, ${name}!`);
}

sayHello('Alice'); // 输出 "Hello, Alice!"
函数表达式

除了使用函数定义语句外,我们还可以使用函数表达式来定义函数。

函数表达式的语法如下:

const functionName = function(parameters) {
   //函数体
}

注意到这里的 functionName 被定义为一个常量,因为它实际上是一个匿名函数的引用。下面是一个例子:

const square = function(x) {
   return x * x;
}

let result = square(3);
console.log(result); // 输出 9
箭头函数

ES6 引入了一种更简洁的函数语法——箭头函数。箭头函数是使用 => 操作符进行定义的。下面是一个简单的例子:

const add = (a, b) => {
   return a + b;
}

let result = add(1, 2);
console.log(result); // 输出 3

如果函数体只有一句简单的返回语句,可以使用行内语法:

const multiply = (a, b) => a * b;

let result = multiply(2, 3);
console.log(result); // 输出 6
闭包

在函数内部定义的函数可以访问在包含它们的函数中定义的变量。这种机制称为闭包。

function outer() {
   let x = 10;
   function inner() {
      console.log(x);
   }
   inner(); // 输出 10
}
outer();

这里的 inner 函数可以访问 outer 函数中定义的变量 x,因为它们在同一个作用域内。

总结

在 JavaScript 中,函数是一组指令、子程序或程序的代码块。你可以通过传递参数和返回值来控制函数的行为。函数还可以使用闭包来访问在包含它们的函数中定义的变量。