1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        分享 19 個有用的 JS 代碼片段

        共 3402字,需瀏覽 7分鐘

         ·

        2021-11-15 19:50


        來源 | https://www.fly63.com

        在前面的內(nèi)容中,我們也分享了很多關(guān)于JavaScript的技巧,今天我們再分享19個少見卻很有用的 JavaScript技巧。

        1、 “返回”按鈕

        使用 history.back() 可以創(chuàng)建一個瀏覽器“返回”按鈕。
        <button onclick="history.back()">    返回</button>

        2、數(shù)字分隔符

        為了提高數(shù)字的可讀性,您可以使用下劃線作為分隔符:

        const largeNumber = 1_000_000_000;
        console.log(largeNumber); // 1000000000

        3、事件監(jiān)聽器只運行一次

        如果你想添加一個事件監(jiān)聽器并且只運行一次,你可以使用 once 選項:

        element.addEventListener('click', () => console.log('I run only once'), {    once: true});

        4、console.log 變量包裝

        您在 console.log() 的時候,將參數(shù)用大括號括起來,這樣可以同時看到變量名和變量值。


        5、從數(shù)組中獲取最小值/最大值

        您可以使用 Math.min() 或 Math.max() 結(jié)合擴(kuò)展運算符來查找數(shù)組中的最小值或最大值。

        const numbers = [6, 8, 1, 3, 9];
        console.log(Math.max(...numbers)); // 9console.log(Math.min(...numbers)); // 1

        6、檢查 Caps Lock 是否打開

        您可以使用 KeyboardEvent.getModifierState() 來檢測是否 Caps Lock 打開。

        const passwordInput = document.getElementById('password');
        passwordInput.addEventListener('keyup', function (event) { if (event.getModifierState('CapsLock')) { // CapsLock 已經(jīng)打開了 }});

        7、復(fù)制到剪貼板

        您可以使用 Clipboard API 創(chuàng)建“復(fù)制到剪貼板”功能:

        function copyToClipboard(text) {    navigator.clipboard.writeText(text);}

        8、獲取鼠標(biāo)位置

        您可以使用 MouseEvent 對象下 clientX 和 clientY 的屬性值,獲取鼠標(biāo)的當(dāng)前位置坐標(biāo)信息。

        document.addEventListener('mousemove', (e) => {    console.log(`Mouse X: ${e.clientX}, Mouse Y: ${e.clientY}`);});

        9、縮短數(shù)組

        您可以設(shè)置 length 屬性來縮短數(shù)組。

        const numbers = [1, 2, 3, 4, 5]
        numbers.length = 3;
        console.log(numbers); // [1, 2, 3]

        10、簡寫條件判斷語句

        如果僅在判斷條件為 true 時才執(zhí)行函數(shù),則可以使用 && 簡寫。

        // 普通寫法if (condition) {    doSomething();}
        // 簡寫condition && doSomething();

        11、console.table() 打印特定格式的表格

        語法:

        // [] 里面指的是可選參數(shù)console.table(data [, columns]);

        參數(shù):

        • data 表示要顯示的數(shù)據(jù)。必須是數(shù)組或?qū)ο蟆?/span>
        • columns 表示一個包含列的名稱的數(shù)組。

        實例:

        // 一個對象數(shù)組,只打印 firstNamefunction Person(firstName, lastName) {    this.firstName = firstName;    this.lastName = lastName;}
        const john = new Person("John", "Smith");const jane = new Person("Jane", "Doe");const emily = new Person("Emily", "Jones");
        console.table([john, jane, emily], ["firstName"]);

        12、數(shù)組去重

        const numbers = [2, 3, 4, 4, 2];console.log([...new Set(numbers)]); // [2, 3, 4]

        13、將字符串轉(zhuǎn)換為數(shù)字

        const str = '404';console.log(+str) // 404;

        14、將數(shù)字轉(zhuǎn)換為字符串

        連接空字符串。

        const myNumber = 403;console.log(myNumber + ''); // '403'

        15、從數(shù)組中過濾所有虛值

        const myArray = [1, undefined, NaN, 2, null, '@denicmarko', true, 3, false];console.log(myArray.filter(Boolean)); // [1, 2, "@denicmarko", true, 3]

        16、妙用 includes

        const myTech = 'JavaScript';const techs = ['html', 'css', 'JavaScript'];
        // 普通寫法if (myTech === 'html' || myTech === 'css' || myTech === 'JavaScript') { // do something}
        // includes 寫法if (techs.includes(myTech)) { // do something }

        17、 妙用 reduce 對數(shù)組求和

        const myArray = [10, 20, 30, 40];const reducer = (total, currentValue) => total + currentValue;
        console.log(myArray.reduce(reducer)); // 100

        18、console.log() 樣式

        您知不知道可以使用 CSS 語句在 DevTools 中設(shè)置 console.log 輸出的樣式:


        19、 元素的 dataset

        使用 dataset 屬性訪問元素的自定義數(shù)據(jù)屬性

        <div id="user" data-name="John Doe" data-age="29" data-something="Some Data">    John Doe</div>
        <script> const user = document.getElementById('user'); console.log(user.dataset); // { name: "John Doe", age: "29", something: "Some Data" } console.log(user.dataset.name); // "John Doe" console.log(user.dataset.age); // "29" console.log(user.dataset.something); // "Some Data"</script>

        本文完~

        學(xué)習(xí)更多技能

        請點擊下方公眾號

        瀏覽 57
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产精品久久久久久久久久了 | 做爱网站那个能看 | 性猛交乱婬A片无码久久久影院 | 国产精品自拍偷怕 | 奶大灬大灬大灬硬灬爽灬无码视频 | 日韩人妻毛片视频 | 国产破处视频在线播放 | 殴美黄色录像 | 色婷综合 | 欧美人操逼 |