【问题标题】:I can't get the alert to work properly我无法让警报正常工作
【发布时间】:2014-04-10 00:02:02
【问题描述】:
set("mean",total/weight);
if (mean = "NaN") {
    alert("Error! Please use NUMBERS only");
}

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

【问题讨论】:

  • 使用比较运算符==,而不是=

标签: javascript


【解决方案1】:

改变

if (mean = "NaN") {

if (mean == "NaN") {

在第一个中你将一个值设置为一个 var,在第二个中你进行逻辑比较

【讨论】:

    【解决方案2】:

    使用isNaN 函数进行比较:

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

    【讨论】:

    • 计算运行但现在无论如何都会弹出警报
    • 没关系,用一种方法来解决这个问题。不过谢谢
    【解决方案3】:

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

    你也不能使用mean === NaN来检查,因为与NaN比较总是返回false。

    要检查是否是NaN,你必须使用isNaN函数。

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

    【讨论】:

      【解决方案4】:

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

      使用 双等号 (mean == "NaN") 进行相等比较,使用 三等号 (mean === "NaN") 进行类型和等式比较。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多