!(逻辑非)

我们都知道!运算符是取反的意思

  1. !0 = true;
  2. !undefined = true;
  3. !'' = true;
  4. !null = true;
  5. !'cxx' = false;
  6. !999 = false;

!!(逻辑非取反)

!!通常用来做类型判断,就是双重否定等于肯定的意思
栗子:判断dataList为非空,定义或者非空串时执行read函数
新手写法:

  1. var dataList;
  2. if(dataList != null && typeOf(dataList) != undefined && dataList != ''){
  3. read();
  4. }

大佬写法:

  1. if(!!plugin){
  2. read();
  3. }

&&运算符

1、&&取与的意思并且

如果满足a大于0且b<0 则执行c();

  1. if(a>0 && b<0){
  2. c();
  3. }

2.&& 后面加运算表达式,前面成立则执行后面表达式

如果a != 2 则让a等于2
新手写法:

  1. if(a !=2 ){
  2. a=2;
  3. }

大佬写法:

  1. (!a==2)&&(a=2);