javascript - 在这个函数中为什么首先打印“ho”而不是“hello”
问题描述
function init() {
console.log("hello " + validate());
}
function validate() {
console.log("ho ");
return 'hi'
}
init()
这段代码的输出是:
ho
hello hi
我无法理解顺序。我错过了什么?
解决方案
我将尝试显示“操作顺序”
- 称呼
init()
init()
willconsole.log
,但需validate()
要这样做的结果validate()
叫做validate()
输出ho
使用console.log
validate()
返回hi
_init
init()
现在console.log
将是完整的字符串
ho <-- Result of validate() being called to get value in init
hello hi <-- Result of init()` console.log
推荐阅读
- ansible - Ansible AWX 工作流程
- azure - 如何将 Azure 托管标识分配给 Azure 存储帐户?
- java - Paytm All in one SDK 在发布更多版本或发布到 Play 商店后无法正常工作
- r - 在同一列中聚合事件
- python - .wav、.aiff、.flac 文件的 Python 拖放
- python - 如何将列表的子数组连接到一个列表中;即创建一个平面列表?
- html - 将段落文本放置在视频背景上的 h1 下方
- github - 将 github 存储库迁移到新计算机?
- python - selenium,如何使用 send_keys() 在 whatsapp 中将表情符号发送给发件人?
- json - 如何维护一个主键 (col1) 和一个 json 数据类型列的多个分支