1-14的作业要求弹出窗口用函数封装,请问老师应该怎么封装?我的代码如下

1-14的作业要求弹出窗口用函数封装,请问老师应该怎么封装?我的代码如下

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>计算出生日期</title>
</head>
<body>
<script type="text/javascript">
    var x=prompt("请输入您的出生年份");
    var y=prompt("请输入您的出生月份");
    var z=prompt("请输入您的出生日期");

    function myFun1(){
        var sum=0,n2=Number(y)-1,i;
        for(i=0;i<n2;i++){
            sum=sum+arguments[i];
        }
        return sum;
    }
    data1=myFun1(31,28,31,30,31,30,31,31,30,31,30);
       
     var n1=Number(x),n3=Number(z),n4=Number(y);
     if(n1%4==0 && n4>=3){
         day1=data1+n3+1;
         document.write("您的生日是"+n1+"年第"+day1+"天");
     }else{
        day2=data1+n3;
        document.write("您的生日是"+n1+"年第"+day2+"天");
     }
</script>
</body>
</html>

正在回答

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

3回答

可以参考下面的方式进行封装

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

    <title>计算出生日期</title>

</head>

<body>

<script type="text/javascript">

    function fun1(){

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

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

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

        myFun1(x,y,z)

    } 

    function myFun1(x,y,z){

        var arr=[31,28,31,30,31,30,31,31,30,31,30];

        var n1=Number(x),n3=Number(z),n4=Number(y);

        var sum=0,n2=Number(y)-1,i;

        for(i=0;i<n2;i++){

            sum=sum+arr[i];

        }

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


            sum+=1;

        }

         day=sum+n3;

         document.write("您的生日是"+n1+"年第"+day+"天");

    }

    fun1();

</script>

</body>

</html>


  • 帝小君 提问者 #1
    非常感谢!
    2018-04-01 14:30:37
  • 帝小君 提问者 #2
    myFun1这个函数是在哪里调用的啊?
    2018-04-01 14:33:17
Supreme_Nick 2018-03-31 23:52:54

把那三个prompt用无参函数包起来,在外面再调用一下就好了。

function promptOut() {
    year = prompt("请输入您的出生年份");
    month = prompt("请输入您的出生月份");
    day = prompt("请输入您的出生日期");
}

promptOut();


  • 提问者 帝小君 #1
    谢谢老师!
    2018-04-01 14:31:06
  • Supreme_Nick 回复 提问者 帝小君 #2
    我也是学员而已^ ^
    2018-04-01 14:40:06
  • 提问者 帝小君 #3
    这样包装起来它的功能和没包装是一样的吗?
    2018-04-01 14:41:41
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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