js中三个判断的语法: if else 、 三元运算符、switch case
一、switch case
switch ( ){放入的是一个判断条件 (变量)
case:跟判断条件对应的值
当前的case成立的时候我们执行的代码;
break:如果当前的判断条件case不成立,break不起作用
dafault:判断都不成立的情况下,我们执行的代码
}
每一种case情况下都要加break(意思是别再往下执行了)
如果不加break,不管后面的代码是否成立都执行了
每一种case情况相当于===的比较,一定要注意数据类型是否一致
在我们的swich判断中,我们的判断过程,是绝对等于的判断,需要数据类型都一样,如果数据类型不一样,就不成立(他不会进行默认的数据类型转换)
二、if else if else
语法:如果 否则
if(条件1){
执行条件1成立的js代码
}
else if(条件2) {
执行条件2成立的js代码
}
else if(条件3){
执行条件3成立的js代码
}...else{
以上所有条件都不成立执行的代码
}
if中的条件可以是<、>、= 小于 大于 等于,还可以是一个值(判断当前值代表的是真还是假)
if ( … ) {
代表的是真
}
if 中的条件还可以是多个小的条件组合,中间用//和&&(或者和并且)隔开
(//的意思是只有一个为真 整体就为真)
(&的意思是所有的小条件都为真 整体才为真)
三、三元运算符
判断条件是否成立 ? 如果判断条件成立,执行的代码 :如果不成立执行的代码
如果是两个等号 浏览器在后台会进行数据类型转换 (不是三个等号的绝对比较)
四、数据类型检测
对象==对象 比较的是空间地址
对象==boolean 对象先转化为字符串,字符串转为数字,boolean转数字(就两个值 0 1)
对象==string 对象转字符串,字符串和字符串比较
对象===number 对象转为字符串,字符串转数字
字符串==boolean 字符串转数字,boolean转数字
字符串==数字 字符串转数字和数字比较 "77"==77--->true "77"===77--->false
boolean==数字 布尔转数字
null==undeifined ---->true
null===undeifined ---->false