二维码

JavaScript 函数

JavaScript 函数

JavaScript 函数是设计用于执行特定任务的代码块。

当“某物”调用它(调用它)时,JavaScript 函数就会被执行。

1
2
3
4
// Function to compute the product of p1 and p2  
function myFunction(p1, p2) {
  return p1 * p2;
}


JavaScript 函数语法

JavaScript 函数是使用function关键字、名称和括号 () 来定义的。

函数名称可以包含字母、数字、下划线和美元符号(与变量的规则相同)。

括号中可以包含用逗号分隔的参数名称:

1
( parameter1,parameter2,... )

函数要执行的代码放在大括号{}内:

1
2
3
function name(parameter1, parameter2, parameter3) {  
  // code to be executed
}

函数参数列在函数定义的括号 () 内。

函数参数是 函数被调用时接收的值。

在函数内部,参数(参数)表现为局部变量。


函数调用

当“某物”调用(调用)函数时,函数内部的代码将执行:

  • 当事件发生时(当用户单击按钮时)
  • 当它被 JavaScript 代码调用(调用)时
  • 自动(自调用)

您将在本教程的后面部分了解有关函数调用的更多信息。


函数返回

当 JavaScript 到达某个return语句时,该函数将停止执行。

如果函数是从语句调用的,JavaScript 将“返回”以执行调用语句之后的代码。

函数经常计算返回值。返回值被“返回”回“调用者”:

:计算两个数字的乘积,并返回结果
1
2
3
4
5
6
7
// Function is called, the return value will end up in x  
let x = myFunction(4, 3);

function myFunction(a, b) {
// Function returns the product of a and b
  return a * b;
}

为什么是函数?

通过函数,您可以重用代码

您可以编写可以多次使用的代码。

您可以使用具有不同参数的相同代码来产生不同的结果。


运营商

() 运算符调用(calls)该函数:

:将华氏度转换为摄氏度
1
2
3
4
5
function toCelsius(fahrenheit) {  
  return (5/9) * (fahrenheit-32);
}

let value = toCelsius(77);

访问参数不正确的函数可能会返回错误的答案:

1
2
3
4
5
function toCelsius(fahrenheit) {  
  return (5/9) * (fahrenheit-32);
}

let value = toCelsius();

访问不带 () 的函数会返回函数而不是函数结果:

1
2
3
4
5
function toCelsius(fahrenheit) {  
  return (5/9) * (fahrenheit-32);
}

let value = toCelsius;

笔记

从上面的例子可以看出,toCelsius指的是函数对象, toCelsius()指的是函数结果。


用作变量值的函数

在所有类型的公式、赋值和计算中,可以像使用变量一样使用函数。

:不使用变量来存储函数的返回值
1
2
let x = toCelsius(77);  
let text = "The temperature is " + x + " Celsius";

您可以直接使用该函数作为变量值:

1
let text = "The temperature is " + toCelsius(77) + " Celsius";

您将在本教程的后面部分了解有关函数的更多信息。


局部变量

在 JavaScript 函数中声明的变量将成为该函数的 LOCAL

局部变量只能从函数内部访问。

1
2
3
4
5
6
7
8
// code here can NOT use carName  

function myFunction() {
  let carName = "Volvo";
  // code here CAN use carName
}

// code here can NOT use carName

由于局部变量仅在其函数内部被识别,因此具有相同名称的变量可以在不同的函数中使用。

局部变量在函数启动时创建,并在函数完成时删除。