1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <script> 9 10 //需求:输入某年某月某日,判断这一天是这一年的第几天?(闰年) 11 //(四年一闰,百年不闰,四百年在闰) 12 //步骤: 13 //1.判断是否是闰年。 14 //2.求天数。(年判断是否是闰年,月是否超过2月,天最好做) 15 //1.把每月的天数组成一个数组,不包含闰年。 16 //2.如果是闰年,而且超过了二月,直接在天数上+1; 17 18 19 //2.求天数。(年判断是否是闰年,月是否超过2月,天最好做) 20 //1.把每月的天数组成一个数组,不包含闰年。 21 //2.如果是闰年,而且超过了二月,直接在天数上+1; 22 23 console.log(getDays(2015,3,1)); 24 // console.log(getDays(2015,5,67)); 25 26 //参数问题:年月日是变化的。处理方法有两种,第一种就是变成成员变量,不方便。 27 //第二种是把年月日变成参数。 28 function getDays(year,month,day){ 29 //1.把每月的天数组成一个数组,不包含闰年。 30 var arr = [31,28,31,30,31,30,31,31,30,31,30,31]; 31 //2.如果是闰年,而且超过了二月,直接在天数上+1; 32 //把输入的月份之前的天数放入到day中。(不包含本月) 33 //输入的月份我们把他当做索引值用。(所以我们要把月份-1,而且不能相等) 34 for(var i=0;i<month-1;i++){ 35 //把月份之前的所有天数放入到day中 36 // day = day + arr[i]; 37 day += arr[i]; 38 } 39 //判断是否是闰年且月份是否超过2月。不能等于二月。如果超过day+1; 40 if(month>2 && isRN(year)){ 41 //day++; 42 day+=1; 43 } 44 //算好的天数,返回,外部使用 45 return day; 46 } 47 48 49 //1.判断是否是闰年。 50 function isRN(year){ 51 //要有返回值,将来判断是否是闰年,是否超过2月,如果是添加1天。 52 //(四年一闰,百年不闰,四百年在闰) 4 8 64 24 36行 100/200/300不行 400、800、1200行 53 // if(year%4===0 && year%100!==0 || year%400===0){ 54 // return true; 55 // }else{ 56 // return false; 57 // } 58 if(year%4===0 && year%100!==0 || year%400===0){ 59 return true; 60 } 61 return false; 62 } 63 64 65 66 </script> 67 </body> 68 </html>