函数和值之间有什么关系?我认为函数是一种价值;但是,函数都包含值(参数)和返回值。
我(显然)是编程的新手,并且希望确保在我通过JavaScript的过程中拥有坚实的概念基础。
答案 0 :(得分:4)
功能做事。变量保存值(数据)。
函数可以接受数据作为参数。函数也可以返回数据,但不必返回。考虑这个函数,它只是将两个数字加在一起:
function addNumbers(numberA, numberB) {
var total = numberA + numberB;
console.log(total);
}
这是一个接受两个参数的函数。在函数的代码块中,这些参数的值被分配给变量numberA
和numberB
。函数的代码创建另一个变量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
是一个功能。所有功能都是价值;例如,我可以将它们放在变量中或作为参数传递它们。
a
和b
是add
的参数,但函数尚未被调用,因此它们没有值。同样,函数已被调用,因此它没有返回值。
当我调用该函数时:
add(1, 2);
该函数执行时a
和b
最初分别设置为1
和2
。
如果我用不同的参数再次调用它:
add(3, 4);
然后这次a
和b
最初设置为3
和4
;但是,这些a
和b
不仅具有与上次不同的值;他们真的是不同的变数。每次调用函数时,参数本质上都是变量,它们不仅是该函数的本地变量,而且是该函数的调用的本地变量。