JavaScript练习-----计算自己出生那天是该年的第几天

思路

1.输入年份需要判断区别闰年、平年;
2.月份只能输入1-12的正整数;
3.日期需要根据年份和月份共同来确定判断正确性的条件:

  • 若是闰年则判断是否是2月,是则设置日期限制条件为1-29的数字;
  • 若是平年,则根据输入的月份设置对于的日期限制条件,如1月则对应日期限制条件为1-31的数字;

基于以上分析,把每月的天数设置为一个数组dayArr,方便调用和赋值。


代码实现

这里只贴出了JavaScript部分的代码,html页面没有写代码,只有最基本的body、html标签便没有贴出。


function get_year()
{
     var year = prompt("请输入你的出生年份");
     return year;
}

function get_month()
{
     var month = prompt("请输入你的出生月份");
     return month;
}


function get_date()
{
    var date = prompt("请输入你的出生日期");
    return date;

}


function myFun()
{
	var dayArr = [31,28,31,30,31,30,31,31,30,31,30,31];//存储每月有多少天
	var y = get_year();
	if((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
	{
		dayArr[1] = 29;
	}//判断是否是闰年,如果是则2月改为29天。

    //月份输入正确性判断
	var m = get_month();
	while(m > 12||m < 1)
	{
		alert("月份只能为1-12的整数!");
		m = get_month();
	}

    //日期输入正确性判断
	var d = get_date();
	while(d < 1||d > dayArr[m-1])
	{
		alert(m+"月没有"+d+"号,请输入1-"+dayArr[m-1]+"的整数!");
		d = get_date();
	}


    //计算天数,m月出生则循环到m-1月,最后在加上m月的天数也就是d。
	var i, sum = 0;
	for(i = 1; i <= m-1; i++)
	{
		sum += parseInt(dayArr[i-1]);
	}

	sum += parseInt(d);
    alert("您的生日在"+ y +"年是第" + sum + "天。");
}

myFun();
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值