题目描述写出一个表达式,它的结果为2018年是否为闰年。判断闰年的条件:是400的倍数,或者是4的倍数且不是100的倍数。1900 false2000 true2004 true思路先通过 if 判断是否为数字,为数字时,嵌套if判断闰年的条件若不是数字则输出“输入的不是数字”遇到的问题 if (typeof year != 'number') { return console.log("输入的不是数字");
}通过typeof判断year的类型,但是如果输入非数字会直接报错“xxx is not defined”但是在输入框加上“”就好了整体代码function isLeapYear(year) { if (typeof year != 'number') { return console.log("输入的不是数字");
} else { if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) { return console.log(year + "年是闰年");
} else { return console.log(year + "年不是闰年");
}
}
}
isLeapYear(asd);期望解惑1.为什么会出现这样的情况,出现的原因是什么。2.如何才能在调用时不加引号可以得到预期的效果(提示“输入的不是数字”)在此感谢您的解答
1 回答
30秒到达战场
TA贡献1828条经验 获得超6个赞
你直接用isLeapYear(asd);
报错? asd
这个变量定义了吗?
isLeapYear('asd');
这样才是传入一个字符串asd
,不加逗号传入的是一个变量,如果这个变量没定义的话就报这个错了,要像下面这样先定义
var asd = 'abcd'; isLeapYear(asd);
添加回答
举报
0/150
提交
取消