老师,请检查一下,为什么页面窗口不会跳出来。另外在sublime中,哪里可以显示出来报错呢?

老师,请检查一下,为什么页面窗口不会跳出来。另外在sublime中,哪里可以显示出来报错呢?

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

<script type="text/javascript">

var year=parseInt(prompt("请输入您的出生年份"));

var month=parseInt(prompt("请输入您的出生月份"));

var day=parseInt(prompt("请输入您的出生日期"));

arr = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

var sum = 0;

function birth{

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

arr[1] = 29;

}

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

sum += arr[i];

}

return sum += day;

}

birth();

document.write("您的生日在" + year +"年第" + sum + "天");

</script>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕星星 2019-05-22 19:37:45

你好,是代码中花括号的位置错了,并且return要在for循环外面,用一个变量来接收返回的值,参考:

<script type="text/javascript">
    var year = parseInt(prompt("请输入您的出生年份"));
    var month = parseInt(prompt("请输入您的出生月份"));
    var day = parseInt(prompt("请输入您的出生日期"));
    arr = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    var sum = 0;

    function birth() {
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
            arr[1] = 29;
        }
        for (var i = 0; i < month - 1; i++) {
            sum += arr[i];
        }
        return sum + day;
    }
    var sum = birth();
    document.write("您的生日在" + year + "年第" + sum + "天");
    </script>

可以再测试下,祝学习愉快!

  • 提问者 慕婉清3238890 #1
    有了有了!谢谢老师!
    2019-05-23 14:27:15
好帮手慕星星 2019-05-21 18:10:01

你好,代码中函数定义缺少括号,添加上就可以了:

http://img1.sycdn.imooc.com//climg/5ce3ce220001d68110230391.jpg

可以按F12,或者鼠标右击页面,出现菜单中有一个‘检查’,点击就可以出现控制台:

http://img1.sycdn.imooc.com//climg/5ce3ce6800016ceb17270064.jpg

就可以看到在多少行有问题。

自己动手测试下,祝学习愉快!

  • 提问者 慕婉清3238890 #1
    我的sublime 控制台傻掉了 不会报错欸。。。。 而且加上了括号,还是没弹出来 :(
    2019-05-22 14:56:35
  • 好帮手慕星星 回复 提问者 慕婉清3238890 #2
    你好,可以将自己修改后的代码重新粘贴上来,老师帮助你测试下。
    2019-05-22 15:18:06
  • 提问者 慕婉清3238890 回复 好帮手慕星星 #3
    <!DOCTYPE html> <html> <head> <title></title> </head> <body> <script type="text/javascript"> var year=parseInt(prompt("请输入您的出生年份")); var month=parseInt(prompt("请输入您的出生月份")); var day=parseInt(prompt("请输入您的出生日期")); arr = new Array(31,28,31,30,31,30,31,31,30,31,30,31); var sum = 0; function birth(){ if (year % 4 == 0 && year % 100 !=0 || year % 400 == 0){ arr[1] = 29; for(var i = 0;i < month -1;i++){ sum += arr[i]; } return sum += day; } birth(); document.write("您的生日在" + year +"年第" + sum + "天"); </script> </body> </html>
    2019-05-22 17:06:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师