javascript - 为什么我在 Node.js 上有 NaN?
问题描述
我现在正在做一个公告板。上面是它的模板代码,其中 page 函数有NaN
. 这个错误的原因是什么,我应该如何解决它?
下面的代码是用 node.js 编写的。
module.exports = {
HTML:function(title, board, control, page){
return `
<!DOCTYPE html>
<html>
<head>
<title>${title}</title>
<meta charset="utf-8">
<style type="text/css">
ul.board, ol.board {
list-style: none;
margin: 0px;
padding: 5px;
}
form {
display: inline;
}
table.type09 {
border-collapse: separate;
text-align: left;
line-height: 2;
}
table.type09 thead th {
padding: 10px;
font-weight: bold;
vertical-align: top;
color: #369;
border-bottom: 3px solid #003699;
}
table.type09 tbody th {
width: 150px;
padding: 10px;
font-weight: bold;
vertical-align: top;
border-bottom: 1px solid #ccc;
background: #f3f6f7;
}
table.type09 td {
width: 350px;
padding: 10px;
vertical-align: top;
border-bottom: 1px solid #ccc;
}
</style>
</head>
<body>
<div id="board">
<table class="type09">
<thead>
<tr>
<th>제목</th>
<th>작성자</th>
<th>날짜</th>
<th>조회수</th>
</tr>
</thead>
<tbody>
${board}
</tbody>
</table>
${control}
</div>
${page}
</body>
</html>`;
},board: function (lifeboards) {
var board = ``;
for (i = 0; i < lifeboards.length; i++) {
var article = lifeboards[i];
var titleBold = article.titleBold;
board += `<tr>`;
if(titleBold == "1") {
board += `<td><a href="/?id=${article.id}"> <b><공지>${article.title}</b> </a></td>`;
board += `<td>${article.writer}</td>`;
board += `<td>${article.day}</td>`;
board += `<td>${article.see}</td>`;
board += `</tr>`;
}
}
for (i = 0; i < lifeboards.length; i++) {
var article = lifeboards[i];
var titleBold = article.titleBold;
board += `<tr>`;
if(titleBold == "1") {
board += `<td><a href="/?id=${article.id}"> ${i+1}. <b>${article.title}</b> </a></td>`;
} else if(titleBold == "0") {
board += `<td><a href="/?id=${article.id}" style="text-decoration:none">${i+1}. ${article.title}</a></td>`;
}
board += `<td>${article.writer}</td>`;
board += `<td>${article.day}</td>`;
board += `<td>${article.see}</td>`;
board += `</tr>`;
}
return board;
},page:function (lifeboards) {
var page = ``;
page =+ `<tr>`;
page =+ `<td colspan="5">`;
for(j = 0; j < lifeboards.length/5; j++) {
page =+ `<a href="/?page=${j+1}">[${j+1}]</a>`;
}
page =+ `</td>`;
page =+ `</tr>`;
return page;
}
}
下图显示了它是如何工作的。
我不知道 Stackoverflow 还需要多少细节,但这是我的全部代码,没有什么要解释的了。
解决方案
请使用这个,你需要先添加concat ( + )
运算符然后=。例如+=
page: function (lifeboards) {
var page = ``;
page += `<tr>`;
page += `<td colspan="5">`;
for (j = 0; j < lifeboards.length / 5; j++) {
page += `<a href="/?page=${j + 1}">[${j + 1}]</a>`;
}
page += `</td>`;
page += `</tr>`;
return page;
}
希望这能解决问题。
推荐阅读
- java - 在 Java 中使用 Integer 作为键和 HashMap
- arrays - 如何通过 jq 从带有数组的 JSON 中提取特定对象
- sql - 如何使用 TSQL 获取一年中的最后一个星期日?
- android - 使用 QR 码配置 Android 时出现校验和错误
- ios - iOS 安全区域大小不知何故是 88 而不是 44
- node.js - 通过邮递员调用 API 工作正常,但通过 axios 发布不起作用
- c++ - dyld:库未加载:/usr/local/opt/jpeg/lib/libjpeg.9.dylib OpenCV C++ MacOS
- java - 无法在 Wildfly 8 AS 中部署 Spring Boot 应用程序
- android - com.android.build.api.transform.TransformException
- angular - 工作空间内的库间依赖关系