请老师优化

请老师优化

function myFun(){


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

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

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


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

       arguments[1]=29;

    }    


    var sum=0;


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

         sum+=arguments[i];

    }

     return sum+day;   

    }

    var date=myFun(31,28,31,30,31,30,31,31,30,31,30,31);

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


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

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

2回答
好帮手慕星星 2019-04-30 18:22:40

你好,代码逻辑没有问题,只不过year变量是在函数内部定义的,最后在输出的时候在函数外面,所以是拿不到内部局部变量,会报错。

可以将定义的变量放在函数外面,如下:

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

祝学习愉快!

  • 提问者 浮沉幻听 #1
    可是题目要求弹出也要用函数封装啊
    2019-04-30 18:51:28
  • 好帮手慕星星 回复 提问者 浮沉幻听 #2
    可以把定义变量放在函数中,把var声明去掉,这样就会是全局变量,外面也可以访问了,可以试一试。
    2019-04-30 19:17:13
提问者 浮沉幻听 2019-04-30 17:00:47

为什么输入完了年月日,网页没有内容呢,

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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