1-14作业

来源:1-1 javaScript中内置对象介绍

慕仰7391156

2018-01-17 11:10:44

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        var year=prompt("请输入您的出生年份");
        var month=prompt("请输入您的出生月份");
        var day=prompt("请输入您的出生日期");
        function myFun(n1,n2,n3){         
            var arr1=[31,28,31,30,31,30,31,31,30,31,30,31];
            var arr2=[31,29,31,30,31,30,31,31,30,31,30,31];
            if(n1%4!=0 && n1%400!=0){
                var arr=arr1;
            }else{
                var arr=arr2;
            }
            for(var i=0;i<(n2-1);i++){
                var sum=0;
                var sum+=arr[i];
            }
            return sum+n3;
        }
        var n=myFun(year,month,day);
        document.write("您的生日在"+year+"年是第"+n+"天");
    老师您好,请问我这段脚本哪里出错了?


写回答

1回答

Miss路

2018-01-17

问题如下:

1、for(var i=0;i<(n2-1);i++){

                var sum=0;

                var sum+=arr[i];

            }

这段代码中,上面已经声明了var sum=0,为什么下一行又重新声明呢?而且这个声明不改出现在循环中,每次循环重新的声明一下是对资源的浪费,要把var sum=0;放到循环外面。

2、你这个逻辑挺奇怪的。

判断用哪个数组的时候,要判断是否是闰年,不是判断哪个不是闰年。参考下面的写法:

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

                var arr=arr2;

            }else{

                var arr=arr1;

            }

3、另外,最后进行sum+n3的时候,需要将n3转化成整型的才能进行运算,因为从页面获取到的所有数据都是字符串类型的。


整个代码参考如下:

<script>
        var year = prompt("请输入您的出生年份");
        var month = prompt("请输入您的出生月份");
        var day = prompt("请输入您的出生日期");

        function myFun(n1, n2, n3) {
            var arr1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
            var arr2 = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
            if (n1 % 4 == 0 && n1 % 100 != 0 || n1 % 400 == 0) {
                var arr = arr2;
            } else {
                var arr = arr1;
            }
            var sum = 0;
            for (var i = 0; i < (n2 - 1); i++) {
                sum += arr[i];
            }

            return sum + parseInt(n3);
        }
        var n = myFun(year, month, day);
        document.write("您的生日在" + year + "年是第" + n + "天");
    </script>

你错的点都是知识点,认真分析一下。祝学习愉快!

0

0 学习 · 36712 问题

查看课程

相似问题

1-14作业

回答 4

1-14作业

回答 1

1-14作业问题

回答 1

2-4 作业

回答 1