我很困惑为什么我首先得到第二个结果..?

I m getting confuse why I am getting the second Result first..?

function first() {
  console.log("first");
}

function second() {
  console.log("second");
}

first(second());

现在的问题是当我调用 (first function) 这首先给了我 (second) ,我只是想知道这里究竟发生了什么这是如何工作的..?以及第二个函数的值如何在第一个函数内部传递..? (因为第一个函数里面没有参数)

让我们逐步调试您的代码。

首先定义两个函数。没有错。

然后,你调用第一个函数,first()

Javascript 读取该行并查看括号内的内容,以便它可以将值传递给函数。

现在,它看到您调用了第二个函数,second()。同样,它查看传递的参数。它什么也没看到,所以它什么也没经过。您定义的函数也不接受任何内容,所以它可以工作!它首先打印出 "Second" 。但是你让函数 return 什么都没有。所以,它是一个空函数。它 returns null.

现在,您的代码是 first(null),因为 second()null。在 Javascript 中,myFunction(null) 大部分 myFunction() 相同,因此 Javascript 不向函数传递任何内容,并且您的 first() 函数也不接受任何东西,这有效,打印出 "First" 秒。

Javascript 确实是从左到右,但通常,它会在最深的最低括号嵌套中执行命令,以便它可以将 returning 结果传递给下一级括号。

.

我建议在线观看更多 Javascript 视频并在 w3schools 或 https://developer.mozilla.org/ 上学习它们,因为它们有很好的示例和研究。