这代码跳不出,,如果出现问题,一般情况下,我们怎么找错呢,除了控制台
来源:1-17 求任意一组数的平均值
qq_铞蓢當尒吖頭_0
2017-05-26 17:09:02
<script>
function riqi(){
year=parseInt(prompt("请输入您的出生年份")),
month=parseInt(prompt("请输入您的出生月份")),
day=parseInt(prompt("请输入您的出生日期")),
sum_a(year,month,day);
}
function sum_a(year,month,day){
var month_leapyear = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
month_normal = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
sum=0, i;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
for (i = 0; i < month; i++)
sum+=month_leapyear[i];
sum+=day;
}
else {
for (i = 0; i < month; i++) {
sum += month_normal[i];
sum += day;
}
document.write("您的生日是" + year + "年的第" + sum + "天");
}
riqi();
</script>
4回答
qq_铞蓢當尒吖頭_0
提问者
2017-05-27
不用了,已经调出来了,但是还是希望老师能回答以上问题,js基础太差了,不是很理解里面的含义
qq_铞蓢當尒吖頭_0
提问者
2017-05-27
还有一个我没明白就是用console.();是控制台显示你代码真不真确,还是怎么样,有时候想测试代码正不正确,但就是不知道怎么测,看了度娘上的,没看懂
qq_铞蓢當尒吖頭_0
提问者
2017-05-27
function riqi()
{
year = parseInt(prompt("请输入您的出生年份")),
month = parseInt(prompt("请输入您的出生月份")),
day = parseInt(prompt("请输入您的出生日期")),
function sum_a(year, month, day)
{
var month_leapyear = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
month_normal = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
sum = 0, i;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
for (i = 0; i < month; i++)
sum += month_leapyear[i];
sum += day;
}
else
{
for (i = 0; i < month; i++)
sum += month_normal[i];
sum += day;
}
}
document.write("您的生日是" + year + "年的第" + sum + "天");
}
riqi();

说什么未定义,具体的我也没看出来,还有,这代码中有局部变量吗,先局部后全局,那document.write写在全局后面也有问题,控制台调试总是说riqi();未定义,不明白其中的意思,请老师帮忙看看
小于飞飞
2017-05-26
你好,通过控制台调试工具比较快,如不使用,那要根据经验来判断,如你编写的代码,不弹出弹出框,首先考虑,函数是否调用执行,如调用,考虑函数是否结构完整,发现 function sum_a(year,month,day) 最后函数少了大括号。一步步检测问题。希望对你有帮助,祝学习愉快。如解决你的疑惑,欢迎采纳呦。
相似问题