函数和值之间的关系是什么?

What is the relationship between a function and a value?

本文关键字:关系 是什么 之间 函数      更新时间:2023-09-26

函数和值之间的关系是什么?我认为函数是一种值;然而,函数既包含值(参数),也包含返回值。


我(显然)是编程新手,想要确保我在学习JavaScript的过程中有一个坚实的概念基础。

函数做事情。变量保存值(data)。

函数可以接受数据作为参数。函数也可以返回数据,但并不一定要返回。考虑这个函数,它只是将两个数字相加:

function addNumbers(numberA, numberB) {
    var total = numberA + numberB;
    console.log(total);
}

这是一个接受两个参数的函数。在函数的代码块中,这些参数的值被赋给变量numberAnumberB。该函数的代码创建了另一个变量total,并将numberA的值与numberB的值相加。然后,该函数调用另一个函数console.log,并将total的值作为参数传入。

现在,函数也可以返回值。让我们稍微修改一下这个函数:

function addNumbers(numberA, numberB) {
    var total = numberA + numberB;
    return total;
}

如果你现在调用这个函数,你会得到total的值。如果我运行这个:

console.log(addNumbers(5, 5));

您将在控制台中看到10。我的数字字面值作为参数传递给addNumbers。该函数完成了它的工作,并返回给我它的total变量的值。这个值现在作为参数传递给console.log

如果这还不是很清楚,那么请在继续之前阅读其他在线教程。

现在,在JavaScript中函数就像其他任何东西一样。您也可以将它们分配给变量!

var newAddNumbers = addNumbers;
console.log(newAddNumbers(5, 5)); // Also returns 10 in the console

当你输入:

function someFunction () {

这和

没有什么不同
var someFunction = function () {

函数本身赋值给变量someFunction。在我们最初的示例中,函数本身被赋值给addNumbers。是的,函数是一种类型就像数字,对象,布尔值等一样

如果我有一个函数:

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

add是一个函数。所有函数都是值;例如,可以将它们放在变量中或作为参数传递。

abadd的参数,但是函数没有被调用,所以它们没有值。类似地,函数已经被调用,所以它没有返回值。

当我调用函数时:

add(1, 2);

函数执行时,ab初始值分别设置为12

如果我用不同的参数再次调用

add(3, 4);

那么这次ab初始设置为34;但是,ab的值不仅与上次不同;它们实际上是不同的变量。每次调用函数时,参数本质上都是变量,它们不仅是该函数的局部变量,而且是该函数的调用的局部变量。