javascript 循环问题

javascript循环问题叫我们做输入年月份输出是该年第几天闰年二月多个1天做事做出来了感觉代码好蠢/... javascript 循环问题叫我们做 输入年月份 输出是该年第几天 闰年二月多个1天 做事做出来了 感觉代码好蠢/ 展开
 我来答
然后去远足
2016-09-27 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2430万
展开全部

初学者首先要学会的是用编程的思维去思考问题,换而言之就是把问题抽象成 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));
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式