1、 [++i 与 i++]
其实这两个都是加1 只是先加和后加的问题;
++i 是先加1 然后在进行运算赋值
i++ 是先运算然后在进行加1
* 例子*
var i=1;
var a=i++;
console.log(a);//1
//////////////////////////
var b=++i;
console.log(b)//3
2 、 !与 !!
共同的一点是都是转换为boolean类型
- !—->先转换为boolean类型然后在取反
- !!—->直接转换为boolean类型
例子
console.log(!0)//true
console.log(!"")//true
console.log(![])//false
console.log(!1)//false
console.log(!"1")//false
console.log(!{})//false
3、 逻辑与&&
分两种其情况来判断:
1、 && 前后全部为布尔类型(只要有一个值为false那么返回的就是false,只有两个都是true的时候才会返回true)
2、 普通的类型后者是其中有一个未布尔类型(只要&&前面的值转换为布尔值为false,返回的都是&&前面的值,如果转换为布尔值为true那么返回的是&&后面的值)
例如
console.log(true && true);// true
console.log(false&& true);// false
console.log(true && false);// false
console.log(false && false);// false
console.log(0 && true);// 0
console.log(0 && false);//0
console.log(1 && false);//false
4、 逻辑 ||
分两种其情况来判断:
1、 || 前后全部为布尔类型(只要有一个值为true那么返回的就是true,只有两个都是false的时候才会返回false)
2、 普通的类型后者是其中有一个未布尔类型(只要||前面的值转换为布尔值为true,返回的都是||前面的值,如果转换为布尔值为false那么返回的是||后面的值)
例如
console.log(false || false)//false
console.log(true || false)//true
console.log(false || true)//true
console.log(true || true)//true
console.log(0 || false)//false
console.log(1 || false)//1
console.log(2 || 1)//2