Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 闰年脚本,每次返回false_Javascript - Fatal编程技术网

Javascript 闰年脚本,每次返回false

Javascript 闰年脚本,每次返回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? "

我正在编写一个代码来检查年份是否为闰年,但每次都返回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? " + 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>