Tra*_*son 4 javascript if-statement
我有一个简单的函数,它应该提示用户输入公司名称,然后是一个确认消息框,询问用户"你想今天订购一个Web设计包吗?" 问题出在我的'if'和'else if'语句中.当用户点击"确定"时,"if"语句应显示一个警告框"感谢您的订单"; 以及当用户点击"取消"时,应显示警告框"我们感谢您的时间"的'else if'语句.该函数由onClick脚本调用.出现提示和确认框但我无法弄清楚为什么我的if和else if框没有出现.我错过了什么?任何帮助表示赞赏.谢谢.
<SCRIPT language = "Javascript">
function submitOrder() {
var companyName = prompt("Please enter company name.", "")
var willOrderPackage = confirm("Would you like to order a Web Design package today?")
if (willOrderPackage == "true") {
alert("Thank you for your order.")
}else if{
alert("We appreciate your time.")
}
</SCRIPT>
Run Code Online (Sandbox Code Playgroud)
jam*_*inc 14
实际上有两种不同的if..else结构.第一个是简单的if-else:
if ( condition ) {
// Do stuff if condition is true
} else {
// Do stuff if condition is not true
}
Run Code Online (Sandbox Code Playgroud)
接下来是if-else-if:
if ( condition ) {
// Do stuff if condition is true
} else if ( differentCondition ) {
// Do stuff if differentCondition is true
} else {
// Do stuff if neither condition nor differentCondition is true
}
Run Code Online (Sandbox Code Playgroud)
您也可以根据需要使用else-if,例如:
if ( condition ) {
// Do stuff
} else if ( condition2 ) {
// etc
} else if ( condition3 ) {
// etc
} else if ( condition4 ) {
// etc
} else {
// etc
}
Run Code Online (Sandbox Code Playgroud)
if..else的每个部分都是可选的,除了初始的if块.因此,如果您不想做任何事情,如果condition不是真的,您可以完全省略else块:
if ( condition ) {
// do stuff if condition is true
}
Run Code Online (Sandbox Code Playgroud)
HTH
超越你的问题片刻,在你的if语句中评估的表达式有点不稳定.
willOrderPackage永远是true或false,但要注意,它是重要的true和"true"或false和"false"是不同的.第一个是布尔值,第二个是字符串.
所以,你的if语句应该问:
if ( willOrderPackage == true ) {
Run Code Online (Sandbox Code Playgroud)
甚至比这更好的是,当你在if语句中评估一个表达式时,隐含== true在它的末尾是不可见的.例如:
if ( willOrderPackage == true ) {
Run Code Online (Sandbox Code Playgroud)
将被解释为:
if ( (willOrderPackage == true) == true )
Run Code Online (Sandbox Code Playgroud)
这样做的好处是你实际上可以省略== true代码中的所有内容,所以你可以写:
if ( willOrderPackage ) {
Run Code Online (Sandbox Code Playgroud)
实际上,你仍然会说"如果willOrderPackage是真的"
希望有助于为您清理一些事情!
你else if没有条件,使用else
就像声明的那样
if (willOrderPackage == "true") {
alert("Thank you for your order.")
Run Code Online (Sandbox Code Playgroud)
是错误的:willOrderPackage是一个布尔值,所以它可以
(willOrderPackage == true)
Run Code Online (Sandbox Code Playgroud)
甚至更好
(willOrderPackage)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26849 次 |
| 最近记录: |