1. 9 個極其強大的 JavaScript 技巧

        共 2971字,需瀏覽 6分鐘

         ·

        2020-12-18 01:57

            
        點擊上方“逆鋒起筆”,公眾號回復(fù) pdf
        領(lǐng)取大佬們推薦的學(xué)習(xí)資料

        作者 | Fatima Nawaz

        譯者 | 王強

        策劃 | 田曉旭

        所謂 hacker 方法,就是一種不斷改進(jìn)和迭代的構(gòu)建方法。有著 hacker 精神的程序員相信事物總有改進(jìn)的余地,沒有什么是完美的存在。每一段代碼都有進(jìn)一步優(yōu)化的空間,每一個操作都有更便捷的技巧。

        下面列舉一些非常強大的 JavaScript hack 技巧。

        1. Replace All

        我們知道 string.Replace() 函數(shù)只會替換第一個項目。

        你可以在這個正則表達(dá)式的末尾添加 /g 來替換所有內(nèi)容。
        var example = "potato potato";
        console.log(example.replace(/pot/, "tom"));
        // "tomato potato"
        console.log(example.replace(/pot/g, "tom"));
        // "tomato tomato"
        2. 提取唯一值
        我們可以使用 Set 對象和 Spread 運算符,創(chuàng)建一個剔除重復(fù)值的新數(shù)組。
        var entries = [1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 4, 2, 1]
        var unique_entries = [...new Set(entries)];
        console.log(unique_entries);
        // [1, 2, 3, 4, 5, 6, 7, 8]
        3. 將數(shù)字轉(zhuǎn)換為字符串
        我們只需使用帶空引號的串聯(lián)運算符即可。
        var converted_number = 5 + "";
        console.log(converted_number);
        // 5
        console.log(typeof converted_number);
        // string
        4. 將字符串轉(zhuǎn)換為數(shù)字

        用 + 運算符即可。

        請注意這里的用法,因為它只適用于“字符串?dāng)?shù)字”。
        the_string = "123";
        console.log(+the_string);
        // 123
        the_string = "hello";
        console.log(+the_string);
        // NaN
        5. 隨機排列數(shù)組中的元素
        每天我都在隨機排來排去……
        var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
        console.log(my_list.sort(function() {
            return Math.random() - 0.5
        }));
        // [4, 8, 2, 9, 1, 3, 6, 5, 7]
        關(guān)注公眾號 逆鋒起筆,回復(fù) pdf,下載你需要的各種學(xué)習(xí)資料。
        6. 展平多維數(shù)組
        只需使用 Spread 運算符。
        var entries = [1, [2, 5], [6, 7], 9];
        var flat_entries = [].concat(...entries);
        // [1, 2, 5, 6, 7, 9]
        7. 短路條件
        舉個例子:
        if (available) {
            addToCart();
        }
        只需使用變量和函數(shù)就能縮短它:
        available && addToCart()
        8. 動態(tài)屬性名稱
        我一直以為我必須先聲明一個對象,然后才能分配一個動態(tài)屬性。
        const dynamic = 'flavour';
        var item = {
            name: 'Coke',
            [dynamic]: 'Cherry'
        }
        console.log(item);
        // { name: "Coke", flavour: "Cherry" }
        關(guān)注公眾號 逆鋒起筆,回復(fù) pdf,下載你需要的各種學(xué)習(xí)資料。
        9. 使用 length 調(diào)整大小 / 清空數(shù)組

        基本上就是覆蓋數(shù)組的 length。

        如果我們要調(diào)整數(shù)組的大?。?
        var entries = [1, 2, 3, 4, 5, 6, 7]; 
        console.log(entries.length);
        // 7
        entries.length = 4;
        console.log(entries.length);
        // 4
        console.log(entries);
        // [1, 2, 3, 4]
        如果我們要清空數(shù)組:
        var entries = [1, 2, 3, 4, 5, 6, 7]; 
        console.log(entries.length);
        // 7
        entries.length = 0;
        console.log(entries.length);
        // 0
        console.log(entries);
        // []

        你也在搜尋 JavaScript hacker 技巧的話,希望本文對你有幫助。

        延伸閱讀

        https://medium.com/javascript-in-plain-english/9-extremely-powerful-javascript-hacks-eed8ed11af5

        今日薦文

        2020 最爛密碼 TOP 200 大曝光!

        用 Java 寫了一個類 QQ 界面聊天小項目,可在線聊天!

            
        點個『在看』支持下 
        瀏覽 22
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 伊人小视频 | 韩国黄色视频在线观看 | 亚洲一区二区三区在线 | 丰满岳妇乱一区二区三区 | 日本A级c片免费看三区 |