Javascript,不';不显示未定义的数字
我创建了一个带有键和值的变量,如下所示:Javascript,不';不显示未定义的数字,javascript,Javascript,我创建了一个带有键和值的变量,如下所示: var e = new Array(); e[0] = "Bitte"; e[1] = "Danke"; 除此之外,我在变量中添加了一行,当数字未定义时,它会显示一个文本 e[NaN] = "Change Settings"; 因此,当变量e为NaN(“未定义”)时,我希望他不会在输入中显示变量e的编号。正如你所看到的,我试图实现这一点,但它无法发挥作用 if (neuezahl = NaN) { document.getElementById
var e = new Array();
e[0] = "Bitte";
e[1] = "Danke";
除此之外,我在变量中添加了一行,当数字未定义时,它会显示一个文本
e[NaN] = "Change Settings";
因此,当变量e
为NaN
(“未定义”)时,我希望他不会在输入中显示变量e的编号。正如你所看到的,我试图实现这一点,但它无法发挥作用
if (neuezahl = NaN) {
document.getElementById("saveServer").value="";
} else {
document.getElementById("saveServer").value=""+neuezahl+"";
}
除了使用
isNAN
功能外,您已分配neuzahl
而未对其进行比较:
if (isNAN(neuezahl))
{
document.getElementById("saveServer").value="";
}
else
{
document.getElementById("saveServer").value=""+neuezahl+"";
}
NaN
无法直接进行比较(它甚至不等于它本身NaN===NaN==>false
)。使用isNaN()
检测NaN
:
if (isNaN(neuezahl)) {...}
if语句中的条件可能不正确。现在您使用“=”而不是“=”,它是一个赋值语句,并且该条件将始终为true。所以,如果您想检查“neuezahl”是否为“NaN”,函数isNaN可能会有所帮助
if (isNaN(neuezahl)){...}
else {}
将(neuezahl=NaN)更改为(neuezahl==NaN)为什么不直接使用if(typeof neuezahl!=“undefined”){实际上(a=NaN)==>NaN
,因此条件总是错误的。(在条件中赋值会在严格模式下引发语法错误。)