1-14作业

来源:3-16 String综合应用

慕粉2148041931

2017-12-13 19:56:18

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>1-14作业</title>

</head>

<body>

<script src="1-14js作业.js">


</script>

</body>

</html>


function years(years) {

// 年

while(true){

var y=prompt('请输入年份');

if (y>2017) {

alert('请输入正确的年份');

}else if (isNaN(y)) {

alert('年份必须是4位数字');

}else{

return parseInt(y);

}

}

}

function months(months) {

// 月

while(true){

var m=prompt('请输入月份');

if (isNaN(m)) {

alert('请输入1-12的数字');

}else if(m<1||m>12){

alert('请输入正确的月份');

}

else {

return parseInt(m);

}

}

}

function date(date) {

// 日

while(true){

var d=prompt('请输入日期');

if (isNaN(d)) {

alert('请输入2位数字');

}else if (d<1||d>31) {

alert('请输入正确的日期');

}else{

return parseInt(d);

}

}

}

function leapyears(leapyears) {

// 闰年?

var ly=false;

if (y%4==0&&y%100!=0||y%400==0) {

ly=true;

}

return ly;

}

function sums(months,date) {

// 总天数

var sums=0;

var m1=31,m2=28,m3=31,m4=30,m5=31,m6=30,m7=31,m8=31,m9=30,m10=31,m11=30,m12=31;

if (ly==true) {

m2=29;

}

switch(m){

case 1:

sums=d;

break;

case 2:

sums=m1+d;

break;

case 3:

sums=m1+m2+d;

break;

case 4:

sums=m1+m2+m3+d;

break;

case 5:

sums=m1+m2+m3+m4+d;

break;

case 6:

sums=m1+m2+m3+m4+m5+d;

break;

case 7:

sums=m1+m2+m3+m4+m5+m6+d;

break;

case 8:

sums=m1+m2+m3+m4+m5+m6+m7+d;

break;

case 9:

sums=m1+m2+m3+m4+m5+m6+m7+m8+d;

break;

case 10:

sums=m1+m2+m3+m4+m5+m6+m7+m8+m9+d;

break;

case 11:

sums=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+d;

break;

case 12:

sums=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11+d;

break;

}

return sums;

}

var y=years(),

m=months(),

d=date(),

ly=leapyears(),

sum=sums();

document.write('您的生日在'+y+'年是第'+sum+'天');

讲师点评:作业整体效果实现,建议如下:1. 使用外部JavaScript,脚本放在JS文件夹中。2. 根据代码情况,函数的的参数没有使用,所以在定义是可以去掉。3. 代码优化:计算日期的方法以及弹出窗口分为两个函数,在弹出窗口函数中输入相应的内容,然后将该值作为参数传给计算日期的方法。

老师,您点评的 3.代码优化······ 我没有明白是什么意思,能给出示一下代码吗?

写回答

1回答

小于飞飞

2017-12-14

关于函数的封装,思路可参考如下:

第一个函数:获取到年月日的变量值,调用计算年月日的函数,将这些变量作为参数传进去,然后输出结果。

第二个函数:计算年月日的函数,闰年的判断也在这里面进行,先判断是否该年是闰年,然后再进行计算。

结构如下:

function myinput() {
    var year=...,
    months=.... ,
    day=.......
    var mysum=mysum(year,months,day);
    document.write('您的生日在'+y+'年是第'+sum+'天');
}
mysum(year,months,day){
      //判断闰年
          if (y%4==0&&y%100!=0||y%400==0) {
               m2=29;    
         }
       var m1=31,m2=28,m3=31,m4=30,m5=31,m6=30,m7=31,m8=31,m9=30,m10=31,m11=30,m12=31;
       switch(m)//switch语句
        return sums; // 返回值
  
}

动手实践,加油。

0

0 学习 · 36712 问题

查看课程

相似问题

1-14作业

回答 4

1-14作业

回答 1

1-14作业问题

回答 1

2-4 作业

回答 1