最近看一大佬的插件代码,虐的本渣泪两行,原来日常简单的运算符也有四两拨千斤的作用,今天就讲讲我看到的这两个运算符!
一、首先看看逻辑非运算符!
!
!运算符可以将变量取反转换成boolean型,像0、undefined这种名义上为否的变量取反都为true,其余的用!为false
!0 = true;
!undefined = true;
!'' = true;
!null = true;
!'cxx' = false;
!999 = false;
!! 逻辑非的取反运算
!!通常用来做类型判断,就是双重否定等于肯定的意思
栗子:判断plugin为非空,定义或者非空串时执行read函数
新手写法:
var plugin;
if(plugin != null && typeOf(plugin) != undefined && plugin != ''){
read();
}
大佬写法:
if(!!plugin){
read();
}
二、再来看看&&运算符
1、&&取与的意思并且
如果满足a大于0且b<0 则执行c();
if(a>0 && b<0){
c();
}
&& 后面加运算表达式,前面成立则执行后面表达式
栗子: 如果a != 2 则让a等于2
新手写法
if(a !=2 ){
a=2;
}
大佬写法
(!a==2)&&(a=2);