我无法使警报正常工作

时间:2014-03-07 01:52:50

标签: javascript

set("mean",total/weight);
if (mean = "NaN") {
    alert("Error! Please use NUMBERS only");
}

我希望警报仅在结果为NaN时运行,计算在没有if语句的情况下运行,所以我知道这不是问题。

4 个答案:

答案 0 :(得分:3)

使用isNaN功能进行比较:

if(isNaN(mean)){
    alert("Error! Please use NUMBERS only");
}

答案 1 :(得分:1)

在JavaScript中,mean = "NaN"单等于 设置mean的值。然后,if语句将检查将评估为true的值“NaN”的“真实性”。也就是说,您的if(mean = "NaN")会首先将mean设置为文字字符串"NaN",然后测试if("NaN")

使用 double equals mean == "NaN")进行相等比较,使用 triple equals mean === "NaN")进行类型和相等比较。

但是,mean == "NaN"将始终返回false,因为NaN is not the literal string "NaN" but a special value。请改用isNaN(mean)

答案 2 :(得分:0)

更改

if (mean = "NaN") {

if (mean == "NaN") {

在第一个你设置一个值到一个var,在第二个你做一个逻辑比较

答案 3 :(得分:0)

您正在将"NaN"字符串分配给mean,而不是比较。

此外,您无法使用mean === NaN进行检查,因为与NaN相比总是返回false。

要检查是否为NaN,您必须使用 isNaN 功能。

if (isNaN(mean)) {
    alert("Error! Please use NUMBERS only");
}