Javascript 在函数内部,由于返回运算符而发生的逐步操作

Javascript 在函数内部,由于返回运算符而发生的逐步操作,javascript,function,return,Javascript,Function,Return,我刚开始学习基础知识。我在这里和youtube上看了很多问题,甚至在我的演讲稿上。但是没有人回答我的问题。 要明确的是,我的问题不是如何使用return操作符。我能很好地使用它。问题更多的是它是如何工作的,以及具体发生了什么 请不要说“简而言之,当我们从一个函数返回某个东西时,我们实际上是从一个函数返回它。”-因为这是我之前得到的解释之一,它没有向我解释任何东西哈哈哈:) 以下是此问题的示例代码: 函数示例(数字1、数字2){ 常数和=数字1+数字2; 返回`${sum}` } const in

我刚开始学习基础知识。我在这里和youtube上看了很多问题,甚至在我的演讲稿上。但是没有人回答我的问题。 要明确的是,我的问题不是如何使用return操作符。我能很好地使用它。问题更多的是它是如何工作的,以及具体发生了什么

请不要说“简而言之,当我们从一个函数返回某个东西时,我们实际上是从一个函数返回它。”-因为这是我之前得到的解释之一,它没有向我解释任何东西哈哈哈:)

以下是此问题的示例代码:

函数示例(数字1、数字2){
常数和=数字1+数字2;
返回`${sum}`
}
const invoke=示例(1,2);
console.log(调用);
我认为回答这个问题的最好方法是给我一个循序渐进的列表,列出“sum”的旅程。从它被编写的那一刻起,到整个代码的结尾。 return运算符显然是在移动“sum”,因为单词“return”的含义仅限于此

当我阅读这段代码时,我看到‘sum’在函数的大括号内,然后直接在‘sum’之后返回(到它开始的地方)。现在,由于“sum”还没有到任何地方,将它返回(它开始的地方)是多余的

当函数被调用时,一定会发生某种我不理解的过程


感谢您的时间:)

return
将把返回的内容(
sum
在本例中)放在调用函数的位置(在本例中,在
invoke
前面)。 因此
invoke
=
sum
sum
返回/放置在调用函数的位置)

当我阅读这段代码时,我看到‘sum’在函数的大括号内,然后直接在‘sum’之后返回(到它开始的地方)。现在,由于“sum”还没有到任何地方,将它返回(它开始的地方)是多余的

没有。你误解了什么是“回归”以及回归到哪里

该函数将
sum
中包含的值返回给调用该函数的任何对象,而不是“它(
sum
)启动的位置”

函数
example
接收两个值,并将其放入变量
digit1
digit2
,然后创建一个新变量
sum
,其中包含添加
digit1
digit2
的结果。(变量
digit1
digit2
sum
都是函数本身的作用域;它们不存在于函数之外。)然后它将
sum
中包含的值(而不是变量本身)返回给调用函数的对象

在这种情况下,这是一行:

const invoke=示例(1,2)

函数
示例
接收值1和2,并返回值“3”。这意味着在函数外部,返回值将取代函数调用本身,从而有效地

const invoke=“3”

函数外部的代码“调用”函数。函数“返回”的是一个值——不是一个变量,而是一个值!——到函数外部的代码。你可以把一个函数想象成一个有输入和输出的盒子:你用输入调用它,它会向你返回一个输出值


(顺便说一句,您使用的return语句不必要地将结果强制为字符串,您可能需要一个数字:just
return sum
可能更可取。)

在您的代码中,
return
将始终返回字符串值
“sum”
。非常感谢,我已经编辑并更正了代码,这可能有助于思考像
sin()
cos()
这样的东西在数学中是如何工作的。提供了角度测量,并且
sin()
返回一个值。许多语言中的Return语句允许函数指定要传递回调用该函数的代码的返回值。在@Codewell中,
return
returns
这个术语在计算中已经被使用了60年,用来指函数产生值时会发生什么。非常感谢!我现在明白了一些东西是如何被退回的,而不仅仅是发送的。因此,这遵循了(英语)的前提“他们被召唤,作为回报,他们送了一份礼物”,而不是我想象的那样:“把我的钱包还给我,theif!”。以前,我能理解发生了什么的唯一方法是假设return就像一个赋值操作符,它将“sum”赋值给“example”,就像将东西存储在变量中一样。虽然这种心态有效,但我知道这是错误的。再次感谢,我可以继续编码而不会生气哈哈:)不用担心!这是一个有趣的答案;有些概念被习惯所束缚,以至于很难向那些还不理解它们的人解释它们——这就是为什么你最终会想到“当我们从一个函数返回某个东西时,我们实际上是从一个函数返回它”:@Codewell问这样的问题很好,因为通常情况下,人们学习一些复杂的东西,比如编程,会犯一个错误,导致各种各样的困惑。识别、甚至精确定位概念差异的能力是非常有价值的。
function example(digit1, digit2) {
  const sum = digit1 + digit2;
  return `${sum}`
}
const invoke = example(1, 2);
console.log(invoke);