Javascript 尽管有if语句,代码仍在所有循环中运行
我在用ejs。无论我的语句返回什么(无论Javascript 尽管有if语句,代码仍在所有循环中运行,javascript,ejs,Javascript,Ejs,我在用ejs。无论我的语句返回什么(无论currentGame是什么),我的输出总是12。我尝试过实现break或返回并尝试使用其他循环,如开关盒或while,但没有帮助。 如果我在每个循环中使用console.log,我会得到{1,2,3…12}作为输出 “” “问题是您的代码正在无条件地分配给服务器端x变量,此处: "<%var x%>" "<%for(var i=1; i<=12; i++){%>" if(currentGame === "<%=i%&
currentGame
是什么),我的输出总是12。我尝试过实现break代码>或返回
并尝试使用其他循环,如开关盒
或while
,但没有帮助。
如果我在每个循环中使用console.log
,我会得到{1,2,3…12}作为输出
“”
“问题是您的代码正在无条件地分配给服务器端x
变量,此处:
"<%var x%>"
"<%for(var i=1; i<=12; i++){%>"
if(currentGame === "<%=i%>"){
"<%x=i;%>" // <===================================
}
"<%}%>"
console.log("<%=x%>")
这就是问题所在。x
始终是12
但是,从您发布的特定代码中退一步:使用服务器端代码来生成客户端代码几乎从来都不是一个好主意。相反,请分别编写客户端代码和服务器代码,这样就不会出现这种混淆。问题是您的代码正在分配给服务器端x
变量无条件地,此处:
"<%var x%>"
"<%for(var i=1; i<=12; i++){%>"
if(currentGame === "<%=i%>"){
"<%x=i;%>" // <===================================
}
"<%}%>"
console.log("<%=x%>")
这就是问题所在。x
始终是12
但是,从您发布的特定代码中退一步:使用服务器端代码生成客户端代码几乎从来都不是一个好主意。相反,请分别编写您的客户端代码和服务器代码,这样就不会出现这种混淆。请在浏览器中显示您得到的结果代码。基于上述内容,我认为这是一种错误一系列的if(currentGame==“1”){/code>和if(currentGame==“2”){/code>等,一直到12。请在浏览器中显示您得到的结果代码。基于以上,我希望它是一系列if(currentGame==“1”){/code>和if(currentGame==“2”){/code>等,一直到12。
var x
for(var i=1; i<=12; i++){
x=i;
}