这代码跳不出,,如果出现问题,一般情况下,我们怎么找错呢,除了控制台

来源:1-17 求任意一组数的平均值

qq_铞蓢當尒吖頭_0

2017-05-26 17:09:02

<script>
    function riqi(){
           year=parseInt(prompt("请输入您的出生年份")),
            month=parseInt(prompt("请输入您的出生月份")),
            day=parseInt(prompt("请输入您的出生日期")),
            sum_a(year,month,day);
    }
    function sum_a(year,month,day){
        var month_leapyear = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
            month_normal = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
            sum=0, i;
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
            for (i = 0; i < month; i++)
                sum+=month_leapyear[i];
                sum+=day;
        }
        else {
            for (i = 0; i < month; i++) {
                sum += month_normal[i];
                sum += day;
            }
            document.write("您的生日是" + year + "年的第" + sum + "天");
        }
        riqi();


</script>

写回答

4回答

qq_铞蓢當尒吖頭_0

提问者

2017-05-27

不用了,已经调出来了,但是还是希望老师能回答以上问题,js基础太差了,不是很理解里面的含义

0

qq_铞蓢當尒吖頭_0

提问者

2017-05-27

还有一个我没明白就是用console.();是控制台显示你代码真不真确,还是怎么样,有时候想测试代码正不正确,但就是不知道怎么测,看了度娘上的,没看懂

0

qq_铞蓢當尒吖頭_0

提问者

2017-05-27

function riqi()
{
   year = parseInt(prompt("请输入您的出生年份")),
       month = parseInt(prompt("请输入您的出生月份")),
       day = parseInt(prompt("请输入您的出生日期")),
       function sum_a(year, month, day)
       {
           var month_leapyear = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
               month_normal = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
               sum = 0, i;
           if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
           {
               for (i = 0; i < month; i++)
                   sum += month_leapyear[i];
               sum += day;
           }
           else
               {
               for (i = 0; i < month; i++)
                   sum += month_normal[i];
               sum += day;
              }
       }
   document.write("您的生日是" + year + "年的第" + sum + "天");
}
riqi();


http://climg.mukewang.com/5928e1680001926606640101.jpg

说什么未定义,具体的我也没看出来,还有,这代码中有局部变量吗,先局部后全局,那document.write写在全局后面也有问题,控制台调试总是说riqi();未定义,不明白其中的意思,请老师帮忙看看

0

小于飞飞

2017-05-26

你好,通过控制台调试工具比较快,如不使用,那要根据经验来判断,如你编写的代码,不弹出弹出框,首先考虑,函数是否调用执行,如调用,考虑函数是否结构完整,发现 function sum_a(year,month,day) 最后函数少了大括号。一步步检测问题。希望对你有帮助,祝学习愉快。如解决你的疑惑,欢迎采纳呦。

0

0 学习 · 5760 问题

查看课程