gpt4 book ai didi

JavaScript if "x = (a || b || c)"语句不工作

转载 作者:行者123 更新时间:2023-11-30 08:37:04 25 4
gpt4 key购买 nike

我正在用 javascript 编写一个简单的三 Angular 函数程序,我的 if 和 while 语句无法正常工作,因为它们仅在第一个条件为真时通过,即如果您输入 Sine,它会工作,但如果您输入 Cosine,则不会或切线。

<script language="JavaScript">
var opposite = 1
var adjacent = 1
var hypotenuse = 1
var sct = "SohCahToa"
while (!(sct == ("Sine" || "Cosine" || "Tangent"))) {
sct = prompt("Sine (unknown adjacent) / Cosine (unkown opposite side) / Tangent (unknown hypotenuse)")
if (!(sct == ("Sine" || "Cosine" || "Tangent"))) {
alert("Spelling error, please try again")
}
}
if (sct == ("Sine" || "Cosine"))
hypotenuse = prompt("What is the hypotenuse")
if (sct == ("Sine" || "Tangent"))
opposite = prompt("What is the opposite side")
if (sct == ("Tangent" || "Cosine"))
adjacent = prompt("What is the adjacent side")

谢谢(将代码保存为 .html 以对其进行测试)

最佳答案

你所有的多重比较都是这样的:

if (sct == ("Sine" || "Cosine" || "Tangent"))

需要改成这样:

if (sct == "Sine" || sct == "Cosine" || sct == "Tangent")

解释一下,当您执行此操作时 ("Sine"|| "Cosine"|| "Tangent"),计算结果仅为 "Sine" 所以 if (sct == ("Sine"|| "Cosine"|| "Tangent"))if (sct == "Sine") 相同,显然不是你想要什么。


这是应用了所有更正后的代码:

var opposite = 1
var adjacent = 1
var hypotenuse = 1
var sct = "SohCahToa"
while (!(sct == "Sine" || sct == "Cosine" || sct == "Tangent")) {
sct = prompt("Sine (unknown adjacent) / Cosine (unkown opposite side) / Tangent (unknown hypotenuse)")
(!(sct == "Sine" || sct == "Cosine" || sct == "Tangent")) {
alert("Spelling error, please try again")
}
}
if (sct == "Sine" || sct == "Cosine")
hypotenuse = prompt("What is the hypotenuse")
if (sct == "Sine" || sct == "Tangent")
opposite = prompt("What is the opposite side")
if (sct == "Tangent" || sct == "Cosine")
adjacent = prompt("What is the adjacent side")

关于JavaScript if "x = (a || b || c)"语句不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30366805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com