day02运算符与逻辑分支
运算符
只对一个值进行运算称为一元运算符
++a先运算后赋值
a++先赋值后运算
var b= 'ab'; b++; //NaN,字符串包含非数值转成NaN var b = false; b++; //1,false转成数值0,累加就是1 var b = 2.3; b++; //3.3,直接加1
关系运算符
包括>,<,>=,<=,!=,==,===
比较规则:
1, 数字和数字比较, 直接比较大小
2, 数字和字符串比较, 字符串转换为数字后再比较
3, 字符串和字符串比较, 进行字符的ASCII码值比较
注意事项(只要不等于NaN, 就是true,其他有NaN的运算都为false , 如果要恒等, 则必须值和类型都要相等;)
特殊值
null==undefined//true
’NaN‘=NaN//false
undefined==0//false
逻辑运算符
与&&(两者取值全为true,才为true,有一个为false,则为false)
或||(两者有一个为true,则为true,两者都为false,则为false)
非!(表达式为true,运算后输出内容相反为false)
操作数是一个空字符串, 返回true;
非空字符串, 返回false
操作数是数值0, 返回true;
任意非0数值(包括 Infinity),返回false
操作数是NaN, 返回true
操作数是undefined, 返回true
运算符优先级
关系运算符>逻辑运算符>三目运算符
逻辑分支IF
IF单分支
if条件判断语句的写法:
if (表达式){
执行语句
}
IF双分支语句
if双分支语句的写法:
if(表达式){
执行语句1 }
else{
执行语句2
}
执行语句nIF多分支语句
if多分支语句的写法:
if(表达式){
执行语句1
} else if(表达式2){
执行语句2 }
else if(表达式3){
执行语句3 }
else{ }
IF的嵌套
将整个if语句块插入另一个if语句块中
if (表达式1) {
if (表达式2) {
if (表达式3){ 语句;}
else{ 语句; }
}
else{ 语句;}
}
switch语句的书写
switch(表达式)
{
case 常量1: 语句; break;
case 常量2: 语句; break;
default:语句;
break;
}
break的作用是跳出这个循环,不再往下走。
switch使用范围是针对数值使用,用空间换时间,通过多个空间来提高效率。
浙公网安备 33010602011771号