JS函数前面加!、+、-、~, ; 符号

! 对返回值的真假取反

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;
}()); // -1
console.log(~function() {
    return "5";
}()); // -6 按位取反也会对返回值进行强制转换,将字符串5转化为数字5,而后再按位取反

; 是为了防止代码压缩时,前面代码没写 ; 形成报错。

相关文章
相关标签/搜索