首页 > 解决方案 > 在这个函数中为什么首先打印“ho”而不是“hello”

问题描述

function init() {
    console.log("hello " + validate());
}
function validate() {
    console.log("ho ");
    return 'hi'
}
init()

这段代码的输出是:

ho
hello hi

我无法理解顺序。我错过了什么?

标签: javascriptnode.js

解决方案


我将尝试显示“操作顺序”

  1. 称呼init()
  2. init()will console.log,但需validate()要这样做的结果
  3. validate()叫做
  4. validate()输出ho使用console.log
  5. validate()返回hi_init
  6. init()现在console.log将是完整的字符串
ho             <-- Result of validate() being called to get value in init
hello hi       <-- Result of init()` console.log

推荐阅读