if语句混合在一起
if statements blending together
我是JavaScript的新手,正在尽我所能,所以请耐心等待。我使用if else
语句来问两个问题。
- 你住在哪里
- 你在家多少小时
根据答案house
或apartment
,以及不到5小时的时间,他推荐一只宠物。
我遇到的问题是,如果我键入house并且超过5小时,它也会返回超过5小时的公寓选择。
这是我的代码:
var residence = prompt("Enter House, Apartment or Dorm");
var hours = prompt("Amount of hours home", "");
if ((residence == "House" || "house") && (hours <= 5)) {
var x=window.confirm("You should get a hamster" + "'nWould you like to Purchase one?")
if (x)
window.alert("Thank you for your purchase!")
else
window.alert("Too bad")
}
else if ((residence == "House" || "house") && (hours > 5) && (hours <= 10)) {
var x = window.confirm("You should get a cat" + "'nWould you like to Purchase one?")
if (x)
window.alert("Thank you for your purchase!")
else
window.alert("Too bad")
}
if ((residence == "Apartment" || "apartment") && (hours <= 5)) {
var x = window.confirm("You should get a gold fish" + "'nWould you like to Purchase one?")
if (x)
window.alert("Thank you for your purchase!")
else
window.alert("Too bad")
}
我希望这对我的要求有意义。谢谢你的帮助。
有一个轻微的逻辑问题:
residence == "House" || "house"
正在评估两个表达式
1:residence == "House"
2) "house"
"house"
是所谓的truthy,意思是当测试时,它将被评估为true。所以,每次调用这个代码,或者它的公寓对应代码时,它都会评估为true。
你应该写的是residence == "House" || residence == "house"
。然而,有一种更干净的方法来处理这个问题:
residence.toLowerCase() == "house"
您的新代码将如下所示:
var residence = prompt("Enter House, Apartment or Dorm");
var hours = prompt("Amount of hours home", "");
if (residence.toLowerCase() == "house" && (hours <= 5)) {
var x=window.confirm("You should get a hamster" + "'nWould you like to Purchase one?")
if (x)
window.alert("Thank you for your purchase!")
else
window.alert("Too bad")
}
else if (residence.toLowerCase() == "house" && (hours > 5) && (hours <= 10)) {
var x = window.confirm("You should get a cat" + "'nWould you like to Purchase one?")
if (x)
window.alert("Thank you for your purchase!")
else
window.alert("Too bad")
}
else if (residence.toLowerCase() == "apartment" && (hours <= 5)) {
var x = window.confirm("You should get a gold fish" + "'nWould you like to Purchase one?")
if (x)
window.alert("Thank you for your purchase!")
else
window.alert("Too bad")
}
相关文章:
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- 如何将具有相同功能的两个select html标签的两个JS组合在一起
- 将3个函数合并在一起
- 使用javascript将两个输入的日期添加在一起
- 避免将lib依赖项与webpack+handlebas加载程序捆绑在一起
- PHP、Javascript和SQL代码混杂在一起
- 有没有办法把它们串在一起,这样它们基本上可以同时工作
- PHP:同时循环元素粘在一起
- 把两个数字加在一起,得到5+10=510,而不是15
- 我怎样把这些剧本写在一起
- if语句混合在一起
- 三.js - 将WebGL和CSS3D与iFrame混合在一起
- 将Ajax与Javascript混合在一起
- 如果将php和javascript混合在一起不起作用,请使用简写
- 将字符串与数组变量混合在一起,为javascript中的元素分配id
- 我有点困惑,我怎么能把我的三个函数混合在一起,使它变短
- 从概念上讲,我如何编写通量存储以避免将不相关的数据混合在一起
- 将javascript和jquery与XSL转换或函数参数混合在一起的问题
- 是否有可能将多个音频文件混合在一起,最好使用javascript
- 可以使用javascript将两个SVG文件混合在一起,从而生成HTML/HTML5