Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.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
Can';t获取javascript以弹出闰年警报 试试看​ 功能isleap(年); { var yr=document.getElementById(“年”).值; 如果((parseInt(yr)%4)==0) { 如果(parseInt(yr)%100==0) { 如果(parseInt(yr)%400!=0) { 警惕(“非跳跃”); 返回“false”; } 如果(parseInt(yr)%400==0) { 警惕(“飞跃”); 返回“真”; } } 如果(parseInt(yr)%100!=0) { 警惕(“飞跃”); 返回“真”; } } 如果((parseInt(yr)%4)!=0) { 警惕(“非跳跃”); 返回“false”; } }_Javascript_Date - Fatal编程技术网

Can';t获取javascript以弹出闰年警报 试试看​ 功能isleap(年); { var yr=document.getElementById(“年”).值; 如果((parseInt(yr)%4)==0) { 如果(parseInt(yr)%100==0) { 如果(parseInt(yr)%400!=0) { 警惕(“非跳跃”); 返回“false”; } 如果(parseInt(yr)%400==0) { 警惕(“飞跃”); 返回“真”; } } 如果(parseInt(yr)%100!=0) { 警惕(“飞跃”); 返回“真”; } } 如果((parseInt(yr)%4)!=0) { 警惕(“非跳跃”); 返回“false”; } }

Can';t获取javascript以弹出闰年警报 试试看​ 功能isleap(年); { var yr=document.getElementById(“年”).值; 如果((parseInt(yr)%4)==0) { 如果(parseInt(yr)%100==0) { 如果(parseInt(yr)%400!=0) { 警惕(“非跳跃”); 返回“false”; } 如果(parseInt(yr)%400==0) { 警惕(“飞跃”); 返回“真”; } } 如果(parseInt(yr)%100!=0) { 警惕(“飞跃”); 返回“真”; } } 如果((parseInt(yr)%4)!=0) { 警惕(“非跳跃”); 返回“false”; } },javascript,date,Javascript,Date,​ 在计算如何获取代码以弹出带有闰年答案的警报框时遇到问题。您正在向函数传递一个值,然后在DOM中查找不存在的其他值 此外,代码很难理解,因为您合并了true/false条件,并且您使用的是字符串而不是布尔值-这很糟糕,因为if(isleap(1992))在代码中始终为true 简化: <button onclick="isleap(1992)">Try it</button>​ function isleap(year); { var yr=document.get


在计算如何获取代码以弹出带有闰年答案的警报框时遇到问题。

您正在向函数传递一个值,然后在DOM中查找不存在的其他值

此外,代码很难理解,因为您合并了true/false条件,并且您使用的是字符串而不是布尔值-这很糟糕,因为if(isleap(1992))在代码中始终为true

简化:

<button onclick="isleap(1992)">Try it</button>​

function isleap(year);
{
var yr=document.getElementById("year").value;
if ((parseInt(yr)%4) == 0)
{
 if (parseInt(yr)%100 == 0)
 {
 if (parseInt(yr)%400 != 0)
 {
 alert("Not Leap");
 return "false";
 }
  if (parseInt(yr)%400 == 0)
  {
  alert("Leap");
    return "true";
    }
  }
  if (parseInt(yr)%100 != 0)
  {
    alert("Leap");
    return "true";
  }
 }
 if ((parseInt(yr)%4) != 0)
 {
    alert("Not Leap");
    return "false";
 } 
}

将一个值传递到函数中,然后在DOM中查找不存在的其他值

此外,代码很难理解,因为您合并了true/false条件,并且您使用的是字符串而不是布尔值-这很糟糕,因为if(isleap(1992))在代码中始终为true

简化:

<button onclick="isleap(1992)">Try it</button>​

function isleap(year);
{
var yr=document.getElementById("year").value;
if ((parseInt(yr)%4) == 0)
{
 if (parseInt(yr)%100 == 0)
 {
 if (parseInt(yr)%400 != 0)
 {
 alert("Not Leap");
 return "false";
 }
  if (parseInt(yr)%400 == 0)
  {
  alert("Leap");
    return "true";
    }
  }
  if (parseInt(yr)%100 != 0)
  {
    alert("Leap");
    return "true";
  }
 }
 if ((parseInt(yr)%4) != 0)
 {
    alert("Not Leap");
    return "false";
 } 
}
试试看
如果您对isleap函数返回的值发出警报,它应该可以工作。我不能保证弹出的答案是正确的。

试试看

如果您对isleap函数返回的值发出警报,它应该可以工作。不过,我不能保证弹出的答案是正确的。

一个简单的
isLeapYear
函数是:

<button onclick="alert(isleap(1992));">Try it</button>
它只是看看2月29日是否发生在给定的一年中。您应该能够做到:

function isLeapYear(year) {
  var d = new Date(year, 1, 29);
  return d.getMonth() == 1;
}
基于解析无效日期应返回NaN,该类型将转换为false,但并非所有浏览器都正确实现。e、 g


一个简单的
isLeapYear
函数是:

<button onclick="alert(isleap(1992));">Try it</button>
它只是看看2月29日是否发生在给定的一年中。您应该能够做到:

function isLeapYear(year) {
  var d = new Date(year, 1, 29);
  return d.getMonth() == 1;
}
基于解析无效日期应返回NaN,该类型将转换为false,但并非所有浏览器都正确实现。e、 g


您的小提琴不起作用,因为您保留了默认的JSFIDLE设置,该设置将JS放置在
onload
处理程序中,这意味着您的函数不是全局函数,无法从内联
onclick
属性访问-这应该在左侧的下拉列表中更改为“无换行”设置之一。此外,如果调用该函数,它要做的第一件事是尝试从id为
“year”
的元素中读取值,而您没有这样的元素。您当前忽略
year
参数


话虽如此,您的功能比需要的复杂得多。通过在开始时执行一次
parseInt()
,然后在测试的值不是整数的情况下执行任何需要执行的操作,您可以极大地简化代码,然后您可以在一行中执行闰年测试

此外,如果您在用户输入上使用
parseInt()
,则必须指定一个基数作为第二个参数,以避免由于以前导零开始的输入被视为八进制而导致的模糊错误。所以
parseInt(第10年)

最后,为什么返回字符串
“true”
“false”
?返回实际的布尔值,这样您就可以将函数调用为:

isLeapYear2('2001'); // false in Firefox, true in IE
总之,这里有一个简短的版本:

if (isleap(1992)) {
   // do something
}
演示:

如果不需要显示警报,可以将其缩短:

function isleap(year) {
    year = parseInt(year,10);
    if (isNaN(year)) {
       alert("Not a number");
       return false;
    }
    if (year%4===0 && (year%100!=0 || year%400===0)) {
       alert("Leap");
       return true;
    } else {
       alert("Not leap");
       return false;
    }
}

显然,如果不需要测试无效值,它将是一个单行程序。

您的小提琴不起作用,因为您保留了默认的JSFIDLE设置,将JS放置在
onload
处理程序中,这意味着您的函数不是全局函数,无法从内联
onclick
属性访问-这应该在左侧的下拉列表中更改为“无换行”设置之一。此外,如果调用该函数,它要做的第一件事是尝试从id为
“year”
的元素中读取值,而您没有这样的元素。您当前忽略
year
参数


话虽如此,您的功能比需要的复杂得多。通过在开始时执行一次
parseInt()
,然后在测试的值不是整数的情况下执行任何需要执行的操作,您可以极大地简化代码,然后您可以在一行中执行闰年测试

此外,如果您在用户输入上使用
parseInt()
,则必须指定一个基数作为第二个参数,以避免由于以前导零开始的输入被视为八进制而导致的模糊错误。所以
parseInt(第10年)

最后,为什么返回字符串
“true”
“false”
?返回实际的布尔值,这样您就可以将函数调用为:

isLeapYear2('2001'); // false in Firefox, true in IE
总之,这里有一个简短的版本:

if (isleap(1992)) {
   // do something
}
演示:

如果不需要显示警报,可以将其缩短:

function isleap(year) {
    year = parseInt(year,10);
    if (isNaN(year)) {
       alert("Not a number");
       return false;
    }
    if (year%4===0 && (year%100!=0 || year%400===0)) {
       alert("Leap");
       return true;
    } else {
       alert("Not leap");
       return false;
    }
}

显然,如果不需要测试无效值,它将是一个单行程序。

为什么要这样做<代码>var yr=document.getElementById(“年”).value。您正在通过
1992
,然后查找id为
1992
的div?您可以大大简化代码。在开始时做一次
parseInt()
,然后在被测试的值不是整数的情况下做任何你需要做的事情,然后你可以在一行中做闰年测试:
如果(yr%4==0&(yr%100!=0 | | yr%400==0)){/*是闰年*/}
@nnnn-yes,它们的功能可以更简洁,例如
!(千分之一年)| |!(!(yr%100)| | yr%4)
但这很难理解。:-)@我不觉得我的版本难读。尤其是当你看到一个叫做
y的变量时