1-14作业问题
来源:1-1 javaScript中内置对象介绍
慕粉2148041931
2017-12-04 22:10:05
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>1-14作业</title>
</head>
<body>
<script>
function years(argument) {
// 年
while(ture){
var y=prompt('请输入年份');
if (y.length!=4) {
alert('请输入4位数字');
}else if (isNaN(y)) {
alert('年份必须是4位数字');
}else{
return y;
}
}
}
function months(argument) {
// 月
while(ture){
var m=prompt('请输入月份');
if (m.length!=2) {
alert('请输入2位数字');
}else if (isNaN(m)) {
alert('月份必须是2位数字');
}else{
return m;
}
}
}
function date(argument) {
// 日
while(ture){
var d=prompt('请输入日期');
if (d.length!=2) {
alert('请输入2位数字');
}else if (isNaN(d)) {
alert('日期必须是2位数字');
}else{
return d;
}
}
}
function leapyears(argument) {
// 闰年?
while(ture){
var ly=ture;
if (y%4==0) {
return ly;
}
}
function sums(argument) {
// 总天数
var sums=0;
var m1=31,m2=28,m3=31,m4=30,m5=31,m6=30,m7=31,m8=31,m9=30,m10=31,m11=30,m12=31;
if (ly==0) {
m2=29;
}
switch(m){
case 1:
sums+=d;
break;
case 2:
sums+=m1+d;
case 3:
sums+=m1+m2+d;
break;
case 4:
sums+=m1+m2+m3+d;
break;
case 5:
sums+=m1+m2+m3+m4+d;
break;
case 6:
sums+=m1+m2+m3+m4+m5+d;
break;
case 7:
sums+=m1+m2+m3+m4+m5+m6+d;
break;
case 8:
sums+=m1+m2+m3+m4+m5+m6+m7+d;
break;
case 9:
sums+=m1+m2+m3+m4+m5+m6+m7+m8+d;
break;
case 10:
sums+=m1+m2+m3+m4+m5+m6+m7+m8+m9+d;
break;
case 11:
sums+=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+d;
break;
case 12:
sums+=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11+d;
break;
}
return sum;
}
var y=years(),
m=months(),
d=date(),
ly=leapyears(),
sum=sums();
document.write('您的生日在'+y+'年是第'+sum+'天');
</script>
</body>
</html>
问题1:其实这个作业我是借鉴了另外一个同学的,自己实在没思路,判断是否是闰年的这个函数这么写对吗?
function leapyears(argument) {
// 闰年?
while(ture){
var ly=ture;
if (y%4==0) {
return ly;
}
}
function sums(argument) {
// 总天数
var sums=0;
var m1=31,m2=28,m3=31,m4=30,m5=31,m6=30,m7=31,m8=31,m9=30,m10=31,m11=30,m12=31;
if (ly==0) {
m2=29;
}
问题2:运行总在
document.write('您的生日在'+y+'年是第'+sum+'天');这报错。请问是什么原因?
问题3:总觉得到JS这思路好像不太顺畅似的,这种简单的脚本一般有什么规律或者套路吗?感觉自己太弱了!
1回答
好帮手慕糖
2017-12-05
你好,1、闰年的判断条件不够严谨,判断年份是否是闰年,需满足下列条件之一(两个条件同时存在,一个为真即可):
(1) 年份能整除4但是不能整除100
(2) 年份能整除400
2、报错是因为leapyears(argument) 这个函数缺少一个}。这里认真观察下是要写到哪了,在那块结束需要认真观察,整理下哦。
3、while循环中是要写true吗?认真检查下哦,单词拼写错误了。
祝学习愉快~