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,然後再按位取反

; 是爲了防止代碼壓縮時,前面代碼沒寫 ; 造成報錯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章