【问题标题】:coffeescript - Why does this always output as '1'?coffeescript - 为什么这总是输出为“1”?
【发布时间】:2020-06-26 06:29:31
【问题描述】:

为什么即使 randomArea 不是北,它也总是输出为“1”?

if randomArea = "North"
    id.innerHTML = "1"
else if randomArea = "South"
    id.innerHTML = "2"
else if randomArea = "East"
    id.innerHTML = "3"
else if randomArea = "West"
    id.innerHTML = "4"
else if randomArea = "Central"
    id.innerHTML = "5"
else if randomArea = ""
    id.innerHTML = "6"

【问题讨论】:

  • = & == 不同。
  • = 告诉计算机将"North" 放入randomArea。这叫做“赋值”你应该使用==来检查randomArea的值是否是"North"

标签: javascript html coffeescript


【解决方案1】:

在 JavaScript 中,= 是一个赋值运算符,它将始终分配值,if 语句将评估其真实性。在这种情况下,“North”是一个非空字符串,它是真实的,所以id.innerHTML 被分配了它的值"1"。应该使用相等运算符==

if randomArea = "North"       // <-- here
    id.innerHTML = "1"
else if randomArea = "South"
    id.innerHTML = "2"
else if randomArea = "East"
    id.innerHTML = "3"
else if randomArea = "West"
    id.innerHTML = "4"
else if randomArea = "Central"
    id.innerHTML = "5"
else if randomArea = ""
    id.innerHTML = "6"

您需要更改所有相等条件以评估真实性,而不是分配值,这将始终解析为 true 与非空字符串:

if randomArea == "North"            // <-- here
    id.innerHTML = "1"
else if randomArea == "South"       // <-- here
    id.innerHTML = "2"
else if randomArea == "East"        // <-- here
    id.innerHTML = "3"
else if randomArea == "West"        // <-- here
    id.innerHTML = "4"
else if randomArea == "Central"     // <-- here
    id.innerHTML = "5"
else if randomArea == ""            // <-- here
    id.innerHTML = "6"

注意:

  • // &lt;-- here 很可能需要删除才能获得有效的 CoffeeScript

【讨论】:

  • 这似乎不起作用。它是否正确? ```如果 randomArea == "North" id.innerHTML = "1" else if randomArea == "South" id.innerHTML = "2" else if randomArea == "East" id.innerHTML = "3" else if randomArea == "West" id.innerHTML = "4" else if randomArea == "Central" id.innerHTML = "5" else if randomArea == "" id.innerHTML = "6"
  • @sudocode1 没错;但不要复制/粘贴上面的代码,我相信// &lt;-- here 是无效的 CoffeeScript
猜你喜欢
  • 1970-01-01
  • 2017-06-12
  • 2016-03-31
  • 2019-04-27
  • 2023-03-28
  • 2014-10-24
  • 1970-01-01
  • 1970-01-01
  • 2016-04-30
相关资源
最近更新 更多