javascript 循环问题
javascript循环问题叫我们做输入年月份输出是该年第几天闰年二月多个1天做事做出来了感觉代码好蠢/...
javascript 循环问题叫我们做 输入年月份 输出是该年第几天 闰年二月多个1天 做事做出来了 感觉代码好蠢/
展开
1个回答
展开全部
初学者首先要学会的是用编程的思维去思考问题,换而言之就是把问题抽象成 if-else、for、while-do 等等一系列流程,在掌握这一步骤之后才要考虑的是优化这个流程。
所以别嫌代码笨,先学会实现需求才是要考虑的。
题主的代码显然是不符合需求的。从需求上来看,需要考虑1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月闰年29天、平年28天。题主的代码 totalMonth % 2 == 0 计算的是是否为偶数月,仅此一个判断显然跟需求不符。
题主觉得代码笨是正常的,你的老师出这道题显然只是为了考察你们对循环和条件分支语句的理解。如果不用循环来做的话反而非常简单:
var year = +prompt("Year:"),
month = +prompt("Month:"),
day = +prompt("Day:");
var date = new Date(year, month - 1, day);
var firstDate = new Date(year, 0, 1); // 取得该年的1月1日
var dayOfYear = (date.getTime() - firstDate.getTime()) / (24*3600*1000) + 1; // 两者差值是相差的毫秒数,除以一天总计的毫秒数,即相差的天数
alert(Math.ceil(dayOfYear));
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询