中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS位運算符的使用方法有哪些

發布時間:2022-03-17 13:37:34 來源:億速云 閱讀:250 作者:iii 欄目:開發技術

本篇內容主要講解“JS位運算符的使用方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JS位運算符的使用方法有哪些”吧!

    1. 使用左移運算符 << 迅速得出2的次方

    	1 << 2  // 4, 即 2的2次方
    	1 << 10 // 1024, 即 2的10次方
    	
    	// 但是要注意使用場景
    	a = 2e9;   // 2000000000
    	a << 1;    // -294967296

    2. 使用 ^ 切換變量 0 或 1

    	// --- before ---
        // if 判斷
        if (toggle) {
            toggle = 0;
        } else {
            toggle = 1;
        }
        // 三目運算符
        togle = toggle ? 0 : 1;
        
        // --- after ---
        toggle ^= 1;

    3. 使用 & 判斷奇偶性

    	console.log(7 & 1);    // 1
        console.log(8 & 1) ;   // 0

    4. 使用 !! 將數字轉為布爾值

    所有非0的值都是true,包括負數、浮點數:

    	console.log(!!7);       // true
        console.log(!!0);       // false
        console.log(!!-1);      // true
        console.log(!!0.71);    // true

    5. 使用~、>>、<<、>>>、|來取整

    相當于使用了 Math.floor()

    	console.log(~~11.71)     // 11
        console.log(11.71 >> 0)  // 11
        console.log(11.71 << 0)  // 11
        console.log(11.71 | 0)   // 11
        console.log(11.71 >>> 0) // 11

    注意 >>> 不可對負數取整

    6. 使用^來完成值交換

    在 ES6 的解構賦值出來之前,用這種方式會更快(但必須是整數):

    	// --- before ---
        let temp = a; a = b; b = temp; // 傳統,但需要借助臨時變量
        b = [a, a = b][0] // 借助數組
        
        // --- after --- 只能用于整數
        let a = 7
        let b = 1
        a ^= b
        b ^= a
        a ^= b
        console.log(a)   // 1
        console.log(b)   // 7
        
        [a, b] = [b, a]; // ES6,解構賦值

    7. 使用^判斷符號是否相同

    只能應用與整數

    	(a ^ b) >= 0; //  true 相同; false 不相同

    8. 使用^來檢查數字是否不相等

    	// --- before ---
        if (a !== 1171) {...};
        
        // --- after ---
        if (a ^ 1171) {...};

    9. n & (n - 1),如果為 0,說明 n 是 2 的整數冪

    JS位運算符的使用方法有哪些

    10. 使用 A + 0.5 | 0 來替代 Math.round()

    JS位運算符的使用方法有哪些

    String

    1. 使用toString(16)取隨機字符串

    	Math.random().toString(16).substring(2, 15);

    .substring() 的第二個參數控制取多少位 (最多可取13位)

    JS位運算符的使用方法有哪些

    2. 使用 split(0)

    使用數字來做為 split 的分隔條件可以節省2字節(不實用)

    	// --- before ---
        "alpha,bravo,charlie".split(",");
        
        // --- after ---
        "alpha0bravo0charlie".split(0);

    3. 使用.link() 創建鏈接

    一個鮮為人知的方法,可以快速創建 a 標簽

    	// --- before ---
        let b = `<a herf="www.google.com">google</a>`;
        
        // --- after ---
        let b =  google .link( www.google.com );

    4. 使用 Array 來重復字符

        // --- before ---
        for (let a = "", i = 7; i--;) a+= 0;
        
        // --- after ---
        let b = Array(7).join(0); // "0000000"let c = Array(7).join( La ) // "LaLaLaLaLaLa"
        
        // ES6
        let d = "0".repeat(7); // "0000000"

    其他一些花里胡哨的操作

    1. 使用當前時間創建一個隨機數

        // --- before ---
        let b = 0 | Math.random() * 100
        
        // --- after ---
        let a;
        a = new Date % 100; // 兩位隨機數
        a = new Date % 1000; // 三位隨機數
        a = new Date % 10000; // 四位隨機數...依次類推
        // 不要在快速循環中使用,因為毫秒可能沒有變化;

    2. 一些可以替代 undefined 的操作

    JS位運算符的使用方法有哪些

    3. 使用 Array.length = 0 來清空數組

    4. 使用 Array.slice(0) 實現數組淺拷貝

    5. 使用 !+“1” 快速判斷 IE8 以下的瀏覽器

    JS位運算符的使用方法有哪些

    6. for 循環條件的簡寫

        // --- before ---
        for(let i = 0; i < arr.length; i++) {...}
        
        // --- after ---
        for(let i = arr.length; i--;) {...} // 注意 i-- 后面的分號別漏了

    到此,相信大家對“JS位運算符的使用方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    js
    AI

    东阿县| 新安县| 法库县| 土默特右旗| 尉氏县| 新邵县| 桐柏县| 涿州市| 阜城县| 鸡西市| 仁怀市| 思茅市| 桐城市| 原平市| 高要市| 法库县| 汕头市| 保山市| 永福县| 怀柔区| 原平市| 信丰县| 浦北县| 韩城市| 巩留县| 乌拉特中旗| 滕州市| 渑池县| 即墨市| 青州市| 淮阳县| 恩施市| 江都市| 和龙市| 赤城县| 临夏市| 泸水县| 长兴县| 措勤县| 松阳县| 马公市|