[前端与移动开发] 【前端】JavaScript学习笔记之判断语句的使用
一.if语句
if语句:
if(条件){
语句1;
……
}eles{
语句2;
……
}
如果条件返回值为真,则执行语句1;否则执行语句2。else不是必须的,可以省略,也可是是多个if,如下:
if(条件1){
语句1
}else if(条件2){
语句2
}
代码演示:
<font size="3"><html>
<head>
<title>判断语句if语句</title>
</head>
<body></body>
<script>
var score = 93;
if (score >= 60) {
alert('YOU PASS!');
} else {
alert('YOU FAIL!');
}
</script>
</html></font>
复制代码
二.switch语句
switch(关键字){
case 值1:
语句1;
break;
case 值2:
语句2;
break;
case 值3:
语句3;
break;
……
default:
语句n;
break;
}
switch语句就是判断关键字的值,关键字的值是什么就执行那个值得case语句。break是跳出语句,注一break与continue的区别,前者是跳出整个循环,而后者只是跳过某一次的循环还会接着循环。因此switch语句跟上面的多个if语句的区别就在于,if语句是每个if都会执行一次,而switch并不是每个case都会执行。
代码演示:
<font size="3"><html>
<head>
<title>switch语句</title>
</head>
<body></body>
<script>
var level = 2;
switch (level) {
// 注意:case的值不能为表达式
// 例如:case level>2
// 表示leve的值是"level>2"才行
case 1:
document.write('一级');
break;
case 2:
document.write('二级');
break;
case 3:
document.write('三级');
break;
default:
document.write('什么鬼?');
break;
}
</script>
</html></font>
复制代码
三.关于布尔值true与false的相关
false的情况:
1.level=0;
2.level=false;
3.level=100/'jjjj';
4.level='';
5.var level;//没有赋值的变量
true的情况:
除false之外基本都为true。
null和undefined除了自身之外不等于其他值。关于null、undefind、NaN的比较:
<font size="3"><html>
<head>
<title>布尔值的问题</title>
</head>
<body>
</body>
<script>
var nullValue = null;
var undefinedValue = undefined;
var NaNValue = NaN;
//比较null与undefined
document.write('比较null与undefined:' + (nullValue == undefinedValue) + '<br>');
document.write('比较null与undefined(全等):' + (nullValue === undefinedValue) + '<br>');
//比较null与NaN
document.write('比较null与NaN:' + (nullValue == NaNValue) + '<br>');
document.write('比较null与NaN(全等):' + (nullValue === NaNValue) + '<br>');
//NaN与自身比较
document.write('NaN与自身比较:' + (NaNValue == NaN) + '<br>');
//undefined与NaN比较
document.write('undefined与NaN比较:' + (undefinedValue == NaNValue) + '<br>');
</script>
</html></font>
复制代码
由以上的实验可知:null、undefined、NaN三者之间虽然都可视为false,但仅仅只有null与undefined相等且不是全等。而且NaN与自身并不相等,每个NaN并不相等。
|
|