Javascript 闰年脚本,每次返回false
我正在编写一个代码来检查年份是否为闰年,但每次都返回falseJavascript 闰年脚本,每次返回false,javascript,Javascript,我正在编写一个代码来检查年份是否为闰年,但每次都返回false <script src="dateLibrary.js"> </script> <script> function myLeapYearFunction(aDate) { var year = parseFloat(window.prompt("Enter a year: ")); var aDate = new Date(year); document.write("is it leap? "
<script src="dateLibrary.js"> </script>
<script>
function myLeapYearFunction(aDate)
{
var year = parseFloat(window.prompt("Enter a year: "));
var aDate = new Date(year);
document.write("is it leap? " + isLeapYear(aDate));
}
myLeapYearFunction();
</script>
我已经试了4个小时了,没有发现错误
我非常感谢您的帮助。不要使用
日期对象,因为您只是测试年份,而不是日期
其他不相关的更改包括使用parseInt
而不是parseFloat
,以及稍微重构isLeapYear
函数
函数myLeapYearFunction(){
var year=parseInt(window.prompt(“输入年份:”);
log(“是闰年吗?”+isLeapYear(year));
}
myLeapYearFunction();
功能isLeapYear(年){
第四年风险值=4年=0;
第一百个变量=年份%100==0;
第四百个变量=年份%400==0;
返回第四个(!第一百个| |第四百个);
}; 代码>尝试使用:
var aDate = new Date();
var year = aDate.getFullYear();
document.write("is it leap? " + isLeapYear(year));
相反
- as Date()类不接受任何“year”参数
- 有4种开始日期的方式:
- 新日期()
- 新日期(毫秒)
- 新日期(日期字符串)
- 新日期(年、月、日、小时、分钟、秒、毫秒)
要尽可能少地进行更改:
<script src="dateLibrary.js"> </script>
<script>
function myLeapYearFunction(aDate)
{
var year = parseFloat(window.prompt("Enter a year: "));
// initialize without year and set year afterwards.
var aDate = new Date();
aDate.setYear(year);
document.write("is it leap? " + isLeapYear(aDate));
}
myLeapYearFunction();
</script>
函数myLeapYearFunction(aDate)
{
var year=parseFloat(window.prompt(“输入年份:”);
//初始化时不使用年份,然后设置年份。
var aDate=新日期();
aDate.setYear(年);
写下(“是闰年吗?”+isLeapYear(aDate));
}
myLeapYearFunction();
尝试记录新日期(年)
的结果。提示:它不被视为一年。请尝试像我在这里所做的那样使用一组额外的大括号((第%4年)==0)和((第%100年)!=0))
,因为这是一个整体条件。@AakashVerma应该不需要,因为。确实,我很抱歉。我以为是相反的。虽然我不明白为什么他不能直接用一些正则表达式验证。setYear是可能的,如我的答案所示。
<script src="dateLibrary.js"> </script>
<script>
function myLeapYearFunction(aDate)
{
var year = parseFloat(window.prompt("Enter a year: "));
// initialize without year and set year afterwards.
var aDate = new Date();
aDate.setYear(year);
document.write("is it leap? " + isLeapYear(aDate));
}
myLeapYearFunction();
</script>