函数和值之间是什么关系?我认为函数是一种值;但是,函数既包含值(参数)也包含返回值。
我(显然)是编程新手,并且希望确保我在学习 JavaScript 时有一个坚实的概念基础。
函数和值之间是什么关系?我认为函数是一种值;但是,函数既包含值(参数)也包含返回值。
我(显然)是编程新手,并且希望确保我在学习 JavaScript 时有一个坚实的概念基础。
函数做事。变量保存值(数据)。
函数可以接受数据作为参数。函数也可以返回数据,但不是必须的。考虑这个函数,它只是将两个数字相加:
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
. 所以是的,函数是一种类型,就像数字、对象、布尔值等一样。
如果我有一个功能:
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
不仅具有与上次不同的值;它们确实是不同的变量。每次调用函数时,参数本质上都是变量,这些变量不仅对于该函数是本地的,而且对于该函数的调用也是本地的。