运算符及逻辑分支
一元运算符:++和--
只能操作一个值的操作符叫做一元操作符,是 ECMAScript 中最简单的操作符。
前置型应该位于要操作的变量之前,先将操作数+1或者减1,再参与运算。
后置型则应该位于要操作的变量之后,先参与运算后自身再+1或者减1。
关系运算符
比较规则:
1、数字和数字比较, 直接比较大小
2、数字和字符串比较, 字符串转换为数字后再比较
3、字符串和字符串比较, 进行字符的ASCII码值比较
注意事项:
1、布尔值 ture=1, false=0
2、只要不等于NaN, 就是true,其他有NaN的运算都为false
3、如果要恒等, 则必须值和类型都要相等;
特殊值:
逻辑运算符:与(&&)、或(||)、非(!)
//对于 或运算 有true取true
console.log(a > b || 20); //20
var i = 0 || 10;
console.log(i); //10
//对于 或运算 两个都是false取最后一个
var str = undefined || '';
console.log(str); //取空
//对于 或运算 两个都是true取第一个为true的
var str1 = 'a' || 'b';
console.log(str1); //a
var str2 = '' || 'false' || 'true';
console.log(str2); //false
//对于 与运算 如果出现false 直接取false 如果全是true 取最后一个
var str4 = 10 && 20;
console.log(str4); //20
var str5 = undefined && '';
console.log(str5); //undefined
三目运算符:(基本语法: 条件? 语句1: 语句2)
//三目运算 和 对应的逻辑运算符优先级一样
var str3 = (10 > 20 ? '' : '123') || (50 > 20 ? '' : '456');
console.log(str3); //123
运算符优先级
if语句
//if多分支语句的写法:
if(表达式){
执行语句1
}
else if(表达式2){
执行语句2
}
else if(表达式3){
执行语句3
}
else{
执行语句n
}
//IF的嵌套 将整个if语句块插入另一个if语句块中
if (表达式1) {
if (表达式2) {
if (表达式3){
语句;
} else{
语句;
}
} else{
语句;
}
}
Switch语句
switch(表达式) {
case 常量1: 语句; break;
case 常量2: 语句; break;
…
case 常量n: 语句; break;
default:语句; break;
}
break的作用:是跳出switch结构,如果没有break,则继续执行下面分支的的语句(而不进行判断)。注意case穿透,要加break