javascript - coffeescript - 为什么这总是输出为“1”?
问题描述
即使 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"
解决方案
在 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"
笔记:
- 最
// <-- here
有可能需要删除的有效 CoffeeScript
推荐阅读
- c# - C# 将 GZipStream 复制到 MemoryStream 时无法访问关闭的流
- r - 如何处理线性模型数据中的重复名称?
- git - 再次克隆 git 存储库,而不是获取和合并每个分支
- node.js - 导入不适用于 tsconfig.json 中的“模块”:“ESNEXT”
- image - FFMPEG“找不到带有路径的文件”和“没有这样的文件或目录”
- android-studio - 什么样的.apk文件存储在
/ /应用程序/发布? - haskell - Haskell 类型推导问题
- git - 仅查找其他分支中不存在的当前分支的提交
- javascript - Function.prototype on 方法没有传递对象的 this
- git - 删除分支后git标签是否仍然存在?