返回

深入理解JavaScript函数的调用

前端

一、函数调用简介

在JavaScript中,函数调用是指通过函数名称执行函数中的代码。函数调用语法为:

函数名称();

例如:

function sayHello() {
  console.log("Hello, world!");
}

sayHello(); // 输出 "Hello, world!"

二、函数调用形式

函数调用可以分为两种形式:值调用和引用调用。

  • 值调用: 函数调用时,参数的值被复制并传递给函数。这意味着函数内部对参数的修改不会影响到函数外部的变量。
  • 引用调用: 函数调用时,参数的引用被传递给函数。这意味着函数内部对参数的修改会影响到函数外部的变量。

JavaScript中函数调用采用值调用。

三、函数调用参数

函数可以接收参数。参数是传递给函数的数据。函数内部可以使用这些参数来执行操作。

参数可以在函数定义时指定,也可以在函数调用时指定。

在函数定义时指定参数,使用以下语法:

function functionName(parameter1, parameter2, ...) {
  // 函数体
}

例如:

function sum(a, b) {
  return a + b;
}

在函数调用时指定参数,使用以下语法:

functionName(argument1, argument2, ...);

例如:

sum(1, 2); // 返回 3

四、函数调用执行

当函数被调用时,函数内部的代码将被执行。

函数执行时,首先将参数的值传递给函数内部的变量。

然后,函数内部的代码将被逐行执行。

当函数执行完毕时,函数将返回一个值。

如果函数没有显式返回一个值,则函数将返回undefined。

五、函数调用重载

函数重载是指同一个函数名可以有多个不同的实现,每个实现接受不同的参数列表。

JavaScript中支持函数重载。

例如:

function max(a, b) {
  if (a > b) {
    return a;
  } else {
    return b;
  }
}

function max(a, b, c) {
  if (a > b && a > c) {
    return a;
  } else if (b > a && b > c) {
    return b;
  } else {
    return c;
  }
}

六、函数调用声明

函数声明是指使用function声明一个函数。

函数声明的语法如下:

function functionName() {
  // 函数体
}

例如:

function sayHello() {
  console.log("Hello, world!");
}

七、函数调用表达式

函数表达式是指使用function关键字定义一个函数,并将其作为表达式的一部分。

函数表达式的语法如下:

(function() {
  // 函数体
})();

例如:

var sayHello = function() {
  console.log("Hello, world!");
};

sayHello(); // 输出 "Hello, world!"