1-11作业题,请问要怎么改呢

1-11作业题,请问要怎么改呢

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

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

</head>

<body>

    <script>

        //弹出年月日输入框

var y=prompt('请输入您的出生年份');

var m=prompt('请输入您的出生月份');

var d=prompt('请输入您的出生日期');

        //求各月份数字之和

        function getMonth(){

var sum1=0,i;

for(i=0,i<m-1,i++){

sum1+=arguments.[i];

}

        return sum1;

 }

var getMonth(31,28,31,30,31,30,31,31,30,31,30,31);

//判断是否为闰年

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

sum=sum1+d+1;

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

}

else{

sum=sum1+d;

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

}

</script>

</body>

</html>


正在回答

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

3回答

prompt返回的数据是个字符串,不使用parseInt转化为正整数的话,会出现字符串拼接的现象

提问者 慕运维7202361 2017-07-31 16:11:36

为什么一定要加parseInt呢老师?不过不加结果就真的完全不一样。

怎么都被占用了呢 2017-07-31 15:48:42


你的思路是正确的

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

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

</head>

<body>

    <script>

        //弹出年月日输入框

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

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

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

        //求各月份数字之和

        function getMonth(){

var sum1=0,i;

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

sum1+=arguments[i];

}

        return sum1;

 }

var sum1=getMonth(31,28,31,30,31,30,31,31,30,31,30,31);

//判断是否为闰年

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

sum=sum1+d+1;

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

}

else{

sum=sum1+d;

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

}

</script>

</body>

</html>


  • 提问者 慕运维7202361 #1
    为什么一定要加parseInt呢老师?不过不加结果就真的完全不一样。
    2017-07-31 16:12:04
  • chriose #2
    这个代码好长,能否优化,
    2017-08-18 18:27:23
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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