if(xx)和a==b的判断

2018-09-30  本文已影响5人  八十一空

if(xx)

### if语法:

```

if(condition){

    //true statement

}else {

    //false statement

}

```

其中condition可以是任意表达式,结果不一定是布尔值,JavaScript解释器会自动调用Boolean()将表达式结果转为布尔值,如果表达式为真执行第一个代码块内语句,如果为假执行第二个代码块内语句。

只有一条语句的时候代码块不是必需的,出于维护性考虑我们建议添加。

对于括号里的表达式,转化为布尔类型的原理如下表:

|类型|结果|

|undefined|false|

|null|false|

|boolean|直接判断|

|number|+0,-0或NaN为false,其余为true|

|string|空字符串为false,其余为false|

|object|true|

if语句可以单独使用,也可以和多个else连续使用:

```

if(a > 2){

    // statement

}

if( a == 1){

}else if(a == 2){

}else if(a == 3 ){

}else{

}

```

a==b的判断

使用==的时候,javascript会帮我们做类型转换,原理如下:

如果两个值类型相同,则执行严格相等的运算;

如果两个值的类型不同:

如果一个是null,一个是undefined,那么相等;

如果一个是数字,一个是字符串,先将字符串转为数字,然后比较;

如果一个值是true/false则将其转为1/0比较;

如果一个值是对象,一个是数字或字符串,则尝试使用valueOf和toString转换后比较;

其它就不相等了。

上一篇下一篇

猜你喜欢

热点阅读