【问题标题】:if-else-if javascript returns true and exits regardless of input [duplicate]if-else-if javascript返回true并退出,无论输入如何[重复]
【发布时间】:2015-03-28 20:51:47
【问题描述】:

很长一段时间以来,我一直在拼命想弄清楚在 javascript 中使用多个 else-if 语句的语法,经过大约三个小时的阅读和测试,我觉得自己几乎碰壁了。

javascript:
var n = prompt("please enter number");
if (n = 2) { 
    window.alert("b") 
} else { 
    if (n = 1) { 
        window.alert("a") 
    } else { 
        window.alert("other") 
    } 
};

根据我阅读的所有内容,上面的代码应该可以工作,但是当我运行它时,无论我使用什么输入,输出都会导致“b”警报。我尝试了几种不同的变体,试图找到正确的语法,但到目前为止没有任何效果。

谁能告诉我我做错了什么?

【问题讨论】:

    标签: javascript syntax syntax-error


    【解决方案1】:

    代替:

    if (n = 2) {
    

    你需要:

    if (n === "2")
    

    或者不太理想:

    if (n == 2) {
    

    与所有其他语句相同。目前您正在分配而不是比较。

    【讨论】:

    • if (n === "2") { 可能更合适,除非 OP 特别想要 == 的古怪行为。
    • @ThomSmith 非常好,更新了我的答案,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 2016-05-10
    • 2016-09-03
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 2020-10-25
    相关资源
    最近更新 更多