否则,如果 JavaScript
else if javascript
>我有一个简单的函数,应该提示用户输入公司名称,然后是一个确认消息框,询问用户"你今天想订购网页设计包吗?问题在于我的"如果"和"否则如果"语句。当用户单击"确定"时,"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>
实际上有两个不同的如果。其他构造。第一个是一个简单的if-else:
if ( condition ) {
// Do stuff if condition is true
} else {
// Do stuff if condition is not true
}
下一个是 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
}
您也可以根据需要多次使用 else,例如:
if ( condition ) {
// Do stuff
} else if ( condition2 ) {
// etc
} else if ( condition3 ) {
// etc
} else if ( condition4 ) {
// etc
} else {
// etc
}
以及如果..else 是可选的,初始 if 块除外。因此,如果您不想在condition
不为真的情况下执行任何操作,则可以完全省略 else 块:
if ( condition ) {
// do stuff if condition is true
}
呵呵
暂时超越您的问题,在 if 语句的条件中计算的表达式有点摇摆不定。
willOrderPackage 将始终是true
或false
,但重要的是要注意true
和"true"
或false
和"false"
是不同的。第一个是布尔值,第二个是字符串。
因此,您的 if 语句应该询问:
if ( willOrderPackage == true ) {
更好的是,当您在 if 语句中计算表达式时,其末尾有一个不可见的隐含== true
。例如:
if ( willOrderPackage == true ) {
将被解释为:
if ( (willOrderPackage == true) == true )
这样做的好处是,您实际上可以从代码中省略整个== true
位,因此您只需编写:
if ( willOrderPackage ) {
实际上,您仍然在说"如果willOrderPackage是真的">
希望这有助于为您澄清一些事情!
你的else if
没有条件,请使用else
如前所述
if (willOrderPackage == "true") {
alert("Thank you for your order.")
是错误的:willOrderPackage 是一个布尔值,所以它可以
(willOrderPackage == true)
甚至更好
(willOrderPackage)
最好使用:
if (willOrderPackage) {
而不是:
if (willOrderPackage == "true") {
更改为:
if (willOrderPackage) {
alert("Thank you for your order.")
}else{
alert("We appreciate your time.")
}
这是正确完成的方式:
<script type="text/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) {
alert("Thank you for your order.");
}else{
alert("We appreciate your time.");
}
}
</script>
我做的事情:
- 现代化的编码风格
- 切换到类型属性而不是语言
- 在每个结束行上添加了分号
- 删除了多余的
if
关键字 - 添加了最初缺少的右大括号
- 删除了与字符串 true 的比较,与布尔值的比较不需要这个
- javascript如果图像不存在don't加载它
- Javascript—如果StartsWith,则查找并剪切
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- javascript如果失败
- JavaScript:如果现有对象被实例化为具有特定值,如何创建警报
- Javascript:如果数组有对象或不为空
- Javascript-如果用户没有响应,则关闭确认消息
- 为什么 JavaScript 如果一个数字有一个前导零,就将其视为八进制
- Javascript-如果有东西,则进行渲染
- JavaScript - 如果未选中复选框,则取消选中单选按钮
- Javascript(如果var包含一个单词,则仅更改该单词的颜色)
- JavaScript - 如果选中任何复选框,请选择单选按钮
- JavaScript 如果数组包含名称,则不要这样做
- Javascript:如果有三个变量
- Javascript:如果hasClass,那么addClass
- JavaScript:如果没有'这'关键字
- JavaScript:如果一个对象'的名字都是大写的
- Javascript:如果数组元素已填充,则为数组的每个元素插入表行
- JavaScript如果字符串等于其他值
- PHP/Javascript-如果PHP文件上传成功,请检查JS