One if
语法:
if (条件) {
条件为真执行的代码;
} else {
条件为假执行的代码
}
条件:可任何数据类型,也可以判断语句 如:12 == 13
例:
if ( 2 > 3){
alert( '1' );
} else {
alert ( '2' );
}
弹出:2
判断符号: > < <= >= != === !==
所有判断符号返回的都是布尔值
==相等:比较值 ===比较 数据类型 和 值
例:
var x = 10; var x = 10;
var y = '10'; var y = '10';
if ( x==y ) { if ( x===y ) {
alert ( 1 ); alert ( 1 );
} else { } else {
alert ( 2 ); alert ( 2 );
} }
(图2) (图3)
另一种写法:
var x = 10;
var y = '10';
var z = x===y;
if ( z ) {
alert ( 1 );
} else {
alert ( 2 );
}
这里是先做判断 z = x === y; 返回的false
没有 else
if ( 2 < 1 ){
alert ( 1 );
}
不执行;
多个if else
<script type="text/javascript">
var a = 10;
if ( a < 1 ) {
alert ( 1 );
} else if ( a < 5 ) {
alert ( 2 );
} else if ( a < 20 ) {
alert ( 3 );
} else if ( a < 40 ) {
alert ( 4 );
}
</script>
弹出 3
3已经满足了条件 下面的代码不执行了;
其他写法
当if真语句或者假语句只有一行的时候,可以不用大括号;
例:
if( 3<2 ) alert( 2 );
else alert(3);
if( 3>2 ) alert( 2 );
类似这种才能把大括号去掉
当数据被判断时 数据类型的真假
var a = 10;
if ( a ) {
alert ( 110 );
}
任何数据在被判断的时候,都有对应的真假值(布尔值);
哪些数据在做判断的时候为假:
false 0 ''(里面没有空格) null undefined NaN
→ 其他的都为真
判断的三目写法:
符合的要求:
条件一条语句
真一条语句
假一条语句
可以写成三目写法:
条件?真语句:假语句
例:
<div id="box" title="123"></div>
<script type="text/javascript">
var oBox = document.getElementById( 'box' );
if ( oBox.title === '123' ) {
oBox.className = 'box123';
} else {
oBox.className = 'box5555';
}
</script>
三目写法:
oBox.title === '123' ? oBox.className = 'box123' : oBox.className = 'box5555';
三目最好的写法:
oBox.className = oBox.title === '123' ? '我是123' : '我不是123';