在下面的代码中,如果删除了分号,模板引擎不会抛出错误,否则会抛出错误。
<ul>
<% for (i = 0; i < array.length; ++i) { %>
<%= JSON.stringify(array[i]); %>
<% } %>
</ul>
虽然使用分号语法正确,但为什么模板引擎会抛出错误?
答案 0 :(得分:2)
正如@torazaburo所说,<=%
和%>
之间的内容是一个由ejs解析的表达式。但是,请这样想:
您的目标是将从JSON.stringify
返回的内容呈现给页面吗?因此,在这种情况下,请将ejs表达式视为隐式调用表达式结果的.toString()
,然后将该字符串插入到页面中。通过添加分号,您可以终止语句而不将返回的值赋给任何内容。