日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

apply()的使用

發布時間:2023/12/19 46 生活家
生活随笔 收集整理的這篇文章主要介紹了 apply()的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

apply()方法的另一種使用,就是可以代替一次for循環
在封裝 document.getElementsByTagName的時候,需要把偽數組轉為一個真的數組,其是也不是真的數組 typeof 出來是object,
看代碼:

直接使用push


    /**
     * 根據標簽名稱獲取元素
     * @param tagName 標簽名稱
     * @returns DOM 偽數組
     */
    function getTags(tagName){
        var result=[];
        result[0] = "myDiv"; // 為了更好的方便看打印結果,沒有實際的意義
        result.push(document.getElementsByTagName(tagName));
        console.log(result);
        return result;
    }
    var divs = getTags("div");

顯然不是我們想要的結果


for循環方式


    /**
     * 根據標簽名稱獲取元素
     * @param tagName 標簽名稱
     * @returns DOM 偽數組
     */
    function getTags(tagName){
        var result=[];
        var divs = document.getElementsByTagName(tagName);
        for(var i=0,len = divs.length;i<len;i++){
            console.log(divs[i]); // 打印出每一個div
            result.push(divs[i]);
        }
        console.log(typeof result); // object
        console.log(result);
        return result;
    }

    var divs = getTags("div");


用apply()方式


    /**
     * 根據標簽名稱獲取元素
     * @param tagName 標簽名稱
     * @returns DOM 偽數組
     */
    function getTags(tagName){
        var result=[];
        result.push.apply(result,document.getElementsByTagName(tagName));
        console.log(typeof result); // object
        console.log(result);
        return result;
    }
    var divs = getTags("div");


用兩個真數組來測試看簡單多了


    var arr1 = [1,2,3];
    var arr2 = [4,5,6];
    // 合并兩個數組
    // 方法1- for循環
//    for(var i =0,len = arr2.length;i<len;i++){
//        arr1.push(arr2[i]);
//    }
//    console.log(arr1); // [1, 2, 3, 4, 5, 6];

    // apply()方法
    arr1.push.apply(arr1,arr2);
    console.log(arr1); // [1, 2, 3, 4, 5, 6];

總結

以上是生活随笔為你收集整理的apply()的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。