javascript - 在 Express Router (node.js) 中使用 for 循环
问题描述
我正在尝试像这样使用 for 循环。但是我在终端中没有得到“console.log(i)”,而我确实得到了“console.log(req.body)”。请帮忙。
const express = require("express");
const router = new express.Router();
router.post("/basic", async (req, res) => {
try {
res.send(req.body);
console.log(req.body)
for (let i=0; i < 5, i++; ) {
console.log(i);
}
} catch (e) {
res.status(400).send(e);
}
});
module.exports = router;
解决方案
当您声明变量时let i
;它具有价值undefined
;undefined
所以javascript中有两种类型:
undefined
当变量未定义(不存在)时,您可能会得到,其次变量存在但值是undefined
变量存在。
接下来是操作for
中的下一个,它退出 for 循环,所以这就是你没有得到输出的原因。i < 5 (undefined < 5)
false
console.log
@Rap Sherlock 建议的最简单的解决方案let i = 0;
编辑后:
代码中还有一个错字:
for (let i=0; i < 5, i++; ) { // should be
// need to use ; instead of ,
for (let i = 0; i < 5; i++) {
console.log(i);
}
推荐阅读
- ruby - 如何定义类方法:[] 使用 class_eval 时
- django - 如何在 django __str__ 方法中访问多对多字段的实例
- rust - 尝试用溢出减去
- azure - Microsoft Teams 应用与 Azure (AAP) 应用之间的关系?
- c# - WPF 导航同时保持菜单栏(页眉)和页脚固定
- sql - sql:预期 1 个参数,得到 2 个
- docker - Kubernetes 上的 Azure Devops 私有构建代理 - 是否可以不安装到 docker 套接字?
- node.js - 如果 MongoDB 值超过 20,Discord MongoDB 会给予角色
- jquery - Rails 6 更新使用 Ajax 顺风模式
- javascript - 我在使用调用 js 函数的 onclick 方法获取按钮时遇到问题