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

时间:2013-04-12 04:20:21

标签: javascript theory

函数和值之间有什么关系?我认为函数是一种价值;但是,函数都包含值(参数)和返回值。


我(显然)是编程的新手,并且希望确保在我通过JavaScript的过程中拥有坚实的概念基础。

2 个答案:

答案 0 :(得分:4)

功能做事。变量保存值(数据)。

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

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。所以是的,函数是一个类型,就像数字,对象,布尔等等。

答案 1 :(得分:2)

如果我有一个功能:

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

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

abadd的参数,但函数尚未被调用,因此它们没有值。同样,函数已被调用,因此它没有返回值。

当我调用该函数时:

add(1, 2);

该函数执行时ab最初分别设置为12

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

add(3, 4);

然后这次ab最初设置为34;但是,这些ab不仅具有与上次不同的值;他们真的是不同的变数。每次调用函数时,参数本质上都是变量,它们不仅是该函数的本地变量,而且是该函数的调用的本地变量。