Javascript 为什么java脚本循环没有在代码中的if语句之后运行?
我想打印2014年到2050年之间的年份,日期为1,日期为0(周日),月份为0(一月)。这是代码,我哪里做错了Javascript 为什么java脚本循环没有在代码中的if语句之后运行?,javascript,loops,if-statement,Javascript,Loops,If Statement,我想打印2014年到2050年之间的年份,日期为1,日期为0(周日),月份为0(一月)。这是代码,我哪里做错了 //Write a JavaScript program to find 1st January is being a Sunday between 2014 and 2050. for (var year = 2014; year <=2050; year++){ var today = new Date(); var month = today.getMo
//Write a JavaScript program to find 1st January is being a Sunday between 2014 and 2050.
for (var year = 2014; year <=2050; year++){
var today = new Date();
var month = today.getMonth();
var date = today.getDate();
var year1 = today.getFullYear();
var day = today.getDay();
// console.log(year);
if (date === 1 && day === 0 && month == 0){
console.log(year);
} else{
alert("error");
}; break
};
//编写一个JavaScript程序,找出2014年至2050年的1月1日是星期日。
对于(风险值年份=2014年;年份这可能会有所帮助
for (var year = 2014; year <= 2050; year++) {
var d = new Date(year, 0, 1);
if (d.getDay() === 0){
console.log(year);
}
}
for(var year=2014;year您必须在每次迭代后创建一个新日期(year,0,1)
,然后检查它是否为Sunday
新日期(年,0,1)
year
将输入变量
0
表示一月份的指数
1
表示1月1日
var日期;
对于(var year=2014;year我已经检查了您的代码,下面是对您代码的分析
下面的代码行
};中断
在第一次迭代后退出循环,因此这不是必需的
你的代码行
新日期();
始终返回今天的日期
因此,你需要像这样称呼它:
新日期(年,0,1);
因此,这将为循环中的每一年提供1月1日
因此,您只需使用以下if条件验证这是否为周日:
let date = new Date(year, 0, 1);
// checks if 1st Jan for the specific year is === 0 (sunday)
if ( date.getDay() === 0 ) {
以下是最终工作代码:
//编写一个JavaScript程序,找出2014年至2050年的1月1日是星期日。
var年;
for(year=2014;您需要在创建日期时设置日期。new Date()将返回当前日期。你能告诉我代码哪里错了吗?我需要澄清,因为这个答案有否决票。让我知道正确的答案。你的解释文本有否决票,这可能会有所帮助。-不是你的代码。谢谢你的回复,只是想澄清一下,使用新的日期();还有其他方式吗?有什么具体原因,我的答案不符合您的接受标准吗?:)