gpt4 book ai didi

javascript - Javascript 中 if 条件不进入的程序流程

转载 作者:行者123 更新时间:2023-12-02 19:07:40 25 4
gpt4 key购买 nike

这是我的代码:

<script>
function monthassign()
{
document.getElementById("month").selectedIndex=0;


}
function isleap()
{
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";
}
}

function dateassign()
{
var yr=isleap();

var mth=parseInt(document.getElementById("month").selectedIndex);
var dt=document.getElementById("date")

if(yr)
{
if(mth==2)
{
//alert(yr);
dt.options.length = 0;
for(i=1; i<30; i++)
{
dt.add(new Option(i,i), null) //add new option to end of "date"
}
return;
}
}
if(yr==false && mth==2)
{
//alert("Second fun");
dt.options.length = 0;
for(i=1; i<29; i++)
{
dt.add(new Option(i,i), null) //add new option to end of "date"
}
return;
}

if(mth==4 || mth==6 || mth==9 || mth==11)
{
dt.options.length = 0;
for(i=1; i<31; i++)
{
dt.add(new Option(i,i), null) //add new option to end of "date"
}
return;
}
else
{
dt.options.length = 0;
for(i=1; i<32; i++)
{
dt.add(new Option(i,i), null) //add new option to end of "date"
}
return;
}
}
</script>

我的问题是,当变量 yr 包含错误值时,第一个 if 条件会在函数 dateassign() 中执行。当 yr 包含 false 值时,预计会将程序控制转移到代码块 if(yr==false && mth==2),但它没有发生。我厌倦了执行特定条件的问题,即使条件为假,以及为什么控件不进入特定的 if 条件。请帮助我解决这个问题。提前致谢。

最佳答案

truefalse"true""false" 不同。第一个是 bool 值,第二个是字符串。您应该返回 bool 值,因此您需要将 "true" 的每个实例替换为 true,将 "false" 替换为 >假

关于javascript - Javascript 中 if 条件不进入的程序流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14169334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com