为啥我在 Node.js 上有 NaN?
Posted
技术标签:
【中文标题】为啥我在 Node.js 上有 NaN?【英文标题】:Why I have NaN on Node.js?为什么我在 Node.js 上有 NaN? 【发布时间】:2020-02-20 07:24:43 【问题描述】:我现在正在制作公告板。上面是它的模板代码,其中页面函数有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;
下图展示了它的工作原理。
我不知道 *** 还需要多少细节,但这是我的全部代码,没有什么要解释的了。
【问题讨论】:
【参考方案1】:请使用这个,你需要先添加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;
希望这能解决问题。
【讨论】:
以上是关于为啥我在 Node.js 上有 NaN?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Node.js 中解析包含“NaN”的 JSON 字符串
为啥我在 node.js 中使用 sendFile() 方法为两个路由提供静态文件时会出错