! 对返回值的真假取反 console.log(!function() { return; }()); // true undefined属于false, console.log(!function() { return “a”; }()); // false 字符串a属于真+、- 是对返回值进行数学运算console.log(+function() { return 5.1;}()); // 5.1 console.log(-function() { return 5.1;}()); // -5.1 ~ 对返回值进行按位取反(所有正整数的按位取反是其本身+1的负数,所有负整数的按位取反是其本身+1的绝对值,零的按位取反是 -1)console.log(~function() { return 5;}()); // -6 console.log(~function() { return -5;}()); // 4 console.log(~function() { return 0;}()); // -1console.log(~function() { return “5”;}()); // -6 按位取反也会对返回值进行强制转换,将字符串5转化为数字5,然后再按位取反; 是为了防止代码压缩时,前面代码没写 ; 造成报错。