为了账号安全,请及时绑定邮箱和手机立即绑定

JS大神请进来帮帮我新手。

JS大神请进来帮帮我新手。

晓白菜 2017-04-08 11:46:00
这是我自己写的JS代码;<script> var num1=prompt("请输入你的出生年份");  //输入年份 var num2=prompt("请输入你的出生月份");  //输入月份 var num3=prompt("请输入你的出生日期");  //输入日期 function myFun(){                                  //定义函数 var i,sum=0,mothdays=arguments[i],j=num2-1;      //把argument[i]的值赋给mothdays,月份数减去一赋给j if(num1/4==0){               //判断是否是瑞年 if(num2<2){              //如果输入月份数小于2   sum=num3;         //那么总的天数就是日期数 } else{                    //输入的月份数大于或者等于2    for(i=0;i<j;i++){     sum=sum+mothdays;    //总天数就等于各个月份的天数加起来 } return sum=sum+num3+28;    //最后返回值再加上瑞年的2月的28天和日期 } } else{                     //如果年数不是瑞年 if(num2<2){           //如果输入月份数小于2 sum=num3;         //那么总的天数就是日期 } else{                //如果输入的月份数大于或者等2    for(i=0;i<j;i++){ sum=sum+mothdays;  //总天数就等于各个月份的天数加 } return sum=sum+29+num3;   //最后返回值再加上b不是瑞年的2月的29天和日期 } } } var sdmoth=myFun(31,0,31,30,31,30,31,31,30,31,30,31); document.write("你的生日是在"+num1+"年的第"+sdmoth+"天"); </script>任务要求是:一、语言和环境       1、实现语言:HTML、JavaScript       2、环境要求及开发工具:Sublime text二、整体要求:       1、要求页面整洁,与效果图保持一致       2、计算日期的方法以及弹出窗口均用函数封装3、 网页文件夹管理,脚本资料独立文件夹,文件命名规范三、脚本要求      1. 弹出年、月、日输入框      2 .  根据输入的年、月、日,计算出出生那天是该年的第几天      3.注意闰年要实现的效果如这个动态图显示:
查看完整描述

3 回答

?
橋本奈奈未

TA贡献436条经验 获得超108个赞

            var year = +prompt("请输入你的出生年份"); //输入年份
			var month = +prompt("请输入你的出生月份"); //输入月份
			var day = +prompt("请输入你的出生日期"); //输入日期
			/*
			 * 闰年的判断
			 * 年份是整百数时,必须是400的倍数才是闰年
			 */
			function isLeapYear () {
				if((!year%100 && !year%400) || !year%4)	return true;
			}
			function computed () {
				var sum = 0;
				for(var i=1;i<=month;i++) {
					//加至出生月返回
					if(i===month)
						return sum += day;
					//对于2月的处理
					if(i===2) {
						sum += (isLeapYear()?29:28);
					}else{
						//其他规律月份处理
						switch(i){
							case 1:
							case 3:
							case 5:
							case 7:
							case 8:
							case 10:
							case 12:
							sum += 31;break;
							default: sum+= 30;break;
						}
					}
				}
			}
			document.write("你的生日是在" + year + "年的第" + computed() + "天");

实现方式很多,楼下的思路比较好,不用考虑闰年,这里提供楼主的思路的实现方式,仅供参考,以上没有做输入格式的判断,如非数字和空的处理。

查看完整回答
反对 回复 2017-04-08
  • 3 回答
  • 0 关注
  • 1505 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信