[英]JavaScript showing only last result
I am trying to print the years in which Sunday comes in 1 st January. 我试图打印1月1 日星期日到来的年份。 The problem is that it's only showing the last result. 问题是它只显示最后的结果。
function sun() { var sunday = new Date(); var year; for (year = "2014"; year <= 2050; year++) { var date = new Date(year, 0, 1); if (date.getDay() == 0) document.getElementById('demo').innerHTML = "First Jan being sunday on year =" + year + "<br>"; } }
<input type="submit" id="submit" onclick="sun()">
将+添加到表达式中
document.getElementById('demo').innerHTML += "First Jan being sunday on year ="+year+"<br>";
function sun(){
var sunday = new Date();
var year;
for (year = "2014"; year <= 2050; year++){
var date = new Date(year,0,1);
if (date.getDay()==0)
//you are overwriting the content of 'demo' each time, changed to "+=" so it adds new HTML each time
document.getElementById('demo').innerHTML += "First Jan being sunday on year ="+year+"<br>";
}
} }
The values are getting replaced in each iteration of the loop. 在循环的每次迭代中都会替换这些值。
Concatenating the result is going to help. 连接结果会有所帮助。
Use the operator + in the expression: 在表达式中使用operator +:
document.getElementById('demo').innerHTML += "First Jan being sunday on year ="+year+"<br>";
You should put "January 1st will be on Sunday in:" statically inside the '#demo' div
, then concatenate the years by using +=
instead of =
, eg : 你应该把“1月1日将在星期日:”静态的“#demo”里div
,然后使用串连多年+=
代替=
, 如 :
function sun() { for (let year = 2014; year <= 2050; year++) { if ((new Date(year, 0, 1)).getDay() == 0) { document.getElementById('demo').innerHTML += " " + year; } } }
<input type="submit" id="submit" onclick="sun()"> <div id="demo">January 1st will be on Sunday in:</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.