我很困惑为什么我首先得到第二个结果..?
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/ 上学习它们,因为它们有很好的示例和研究。
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/ 上学习它们,因为它们有很好的示例和研究。