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>
正在回答
可以参考下面的方式进行封装
<!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>
把那三个prompt用无参函数包起来,在外面再调用一下就好了。
function promptOut() { year = prompt("请输入您的出生年份"); month = prompt("请输入您的出生月份"); day = prompt("请输入您的出生日期"); } promptOut();
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星