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的变量时