条件判断语句指的是根据指定的条件所返回的结果(真或假或其它预定义的),来执行特定的语句。JavaScript 支持两种条件判断语句:switch
。
当一个逻辑条件为真,用if语句执行一个语句。当这个条件为假,使用可选择的 else 从句来执行这个语句。if 语句如下所示:
if (condition) {statement_1;
}else {statement_2;
} //推荐使用严格的语句块模式,语句else可选
案例:
//判断闰年 得到二月份的天数
var all_days;
if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {all_days = 29
} else {all_days = 28
}
条件可以是任何返回结果被计算为true 或 false的表达式。如果条件表达式返回的是 true,statement_1 语句会被执行;否则,statement_2 被执行。statement_1 和 statement_2 可以是任何语句,甚至你可以将另一个if语句嵌套其中。
你也可以组合语句通过使用 else if
来测试连续多种条件判断,就像下面一样:
if (condition_1) {statement_1;
}else if (condition_2) {statement_2;
}else if (condition_n_1) {statement_n;
}else {statement_last;
}
不建议在条件表达式中使用赋值语句,因为在快速查阅代码时容易把它看成等值比较。例如,不要使用下面的代码:
if (x = y) {/* 语句 */
}
如果你需要在条件表达式中使用赋值,通常在赋值语句前后额外添加一对括号。例如:
if ((x = y)) {/* statements here */
}
下面这些值将被计算出 false
false
undefined
null
0
NaN
""
)当传递给条件语句所有其他的值,包括所有对象会被计算为真 。
请不要混淆原始的布尔值true
和false
与 Boolean
对象的真和假。例如:
var b = new Boolean(false);
if (b) //结果视为真
if (b == true) // 结果视为假
switch
语句switch
语句允许一个程序求一个表达式的值并且尝试去匹配表达式的值到一个 case
标签。如果匹配成功,这个程序执行相关的语句。switch
语句如下所示:
switch (expression) {case label_1:statements_1[break;]case label_2:statements_2[break;]...default:statements_def[break;]
}
程序首先查找一个与 expression
匹配的 case
语句,然后将控制权转移到该子句,执行相关的语句。如果没有匹配值, 程序会去找 default
语句,如果找到了,控制权转移到该子句,执行相关的语句。如果没有找到 default
,程序会继续执行 switch
语句后面的语句。default
语句通常出现在switch语句里的最后面,当然这不是必须的。
可选的 break
语句与每个 case
语句相关联, 保证在匹配的语句被执行后程序可以跳出 switch
并且继续执行 switch
后面的语句。如果break被忽略,则程序将继续执行switch语句中的下一条语句。
案例:
在如下示例中, 如果 fruittype
等于 “Bananas”, 程序匹配到对应 “Bananas” 的case
语句,并执行相关语句。 当执行到 break
时,程序结束了 switch
并执行 switch
后面的语句。 如果不写 break
,那么程序将会执行 case "Cherries"
下的语句。
switch (fruittype) {case "Oranges":document.write("Oranges are $0.59 a pound.<br>");break;case "Apples":document.write("Apples are $0.32 a pound.<br>");break;case "Bananas":document.write("Bananas are $0.48 a pound.<br>");break;case "Cherries":document.write("Cherries are $3.00 a pound.<br>");break;case "Mangoes":case "Papayas":document.write("Mangoes and papayas are $2.79 a pound.<br>");break;default:document.write("Sorry, we are out of " + fruittype + ".<br>");
}
document.write("Is there anything else you'd like?<br>");
在如下示例中,如果month
为1,3,5,7,8,10,12则这个月有31天,如果month
为4,6,9,11则这个月有30天,以上都没有进入default
判断闰年,得到二月份的天数。
// 所有天数
var all_days = 0;
// 获取年份
var year = Date().getFullYear();
// 获取月份
var month = Date().getMonth() + 1;
//得到每个月多少天
switch (month) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:all_days = 31break;case 4:case 6:case 9:case 11:all_days = 30break;default://判断闰年 得到二月份的天数if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {all_days = 29} else {all_days = 28}break;
}
本文发布于:2024-01-31 11:45:22,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170667272528283.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |