<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        原生js實現each方法實例代碼詳解

        來源:懂視網 責編:小采 時間:2020-11-27 21:56:03
        文檔

        原生js實現each方法實例代碼詳解

        原生js實現each方法實例代碼詳解:jquery里面有個each方法,將循環操作簡化、便捷。 隨后es出了個forEach方法,兩個雖然用法相近,但是不能處理對象類型。且無法通過return true達到continue效果。 此外還有個every方法,該方法雖然可以實現continue效果,但是在處理類數組與對象類型時
        推薦度:
        導讀原生js實現each方法實例代碼詳解:jquery里面有個each方法,將循環操作簡化、便捷。 隨后es出了個forEach方法,兩個雖然用法相近,但是不能處理對象類型。且無法通過return true達到continue效果。 此外還有個every方法,該方法雖然可以實現continue效果,但是在處理類數組與對象類型時

        jquery里面有個each方法,將循環操作簡化、便捷。 隨后es出了個forEach方法,兩個雖然用法相近,但是不能處理對象類型。且無法通過return true達到continue效果。 此外還有個every方法,該方法雖然可以實現continue效果,但是在處理類數組與對象類型時,完全無用。

        在不使用 jquery 的 each 方法時,該如何處理;或者說用原生如何來實現? 前些前寫了個類庫: jTool , 其中就實現了該方法。

        簡單實現:

        // 通過字面量方式實現的函數each
        var each = function(object, callback){
         var type = (function(){
         switch (object.constructor){
         case Object:
         return 'Object';
         break;
         case Array:
         return 'Array';
         break;
         case NodeList:
         return 'NodeList';
         break;
         default:
         return 'null';
         break;
         }
         })();
         // 為數組或類數組時, 返回: index, value
         if(type === 'Array' || type === 'NodeList'){
         // 由于存在類數組NodeList, 所以不能直接調用every方法
         [].every.call(object, function(v, i){
         return callback.call(v, i, v) === false ? false : true;
         });
         }
         // 為對象格式時,返回:key, value
         else if(type === 'Object'){
         for(var i in object){
         if(callback.call(object[i], i, object[i]) === false){
         break;
         }
         }
         }
        }

        我們來try一下, 測試下數組、對象、類數組類型及中斷效果

        數組類型

        var _array = [1,2,3,4];
        each(_array, function(i, v){
         console.log(i + ': ' + v);
        });

        輸出如下:

         

        對象類型

        var object = {a:1, b:2, c:3} each(object, function(i, v){ console.log(i + ': ' + v); });

        輸出如下:

         

        類數組類型

        var ele = document.querySelectorAll('div');
        each(ele, function(i, v){
         console.log(i + ': ' + v);
        });

        輸出如下:

         

        增加中斷條件

        var object2 = {name:'baukh', age: '29', six:'男', url: 'www.lovejavascript.com',}
        each(object2, function(i, v){
         if(i === 'age'){ //如果存在鍵值為age的屬性時,則
        輸出警告,用于實現continue效果 console.log('存在鍵值為age,這家伙已經'+v+'歲了'); return true; } if(i === 'six' && v === '男'){//如果存在鍵值為age的屬性時,則輸出跳出,用于實現break效果 console.log('存在鍵值為six,是個男的,不用關注了~'); return false; } console.log(i + ': ' + v); });

        輸出如下:

         

        從結果可以看出來,each方法已經實現了jquery的each功能。且實現如此簡單~

        隨筆一行 這是前端最好的時代, 這也是前端最壞的時代。 眾多前端框架滿天飛,隨著 jQuery 在前端行業的慢慢弱化,總是會有一種斯人遠去,何者慰籍的感覺?;ッ惆?,各位。

        另推薦個表格組件 gridManager

        總結

        以上所述是小編給大家介紹的原生js實現each方法實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        原生js實現each方法實例代碼詳解

        原生js實現each方法實例代碼詳解:jquery里面有個each方法,將循環操作簡化、便捷。 隨后es出了個forEach方法,兩個雖然用法相近,但是不能處理對象類型。且無法通過return true達到continue效果。 此外還有個every方法,該方法雖然可以實現continue效果,但是在處理類數組與對象類型時
        推薦度:
        標簽: 方法 實現 js
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 99国产精品视频免费观看| 你懂的免费在线观看网站| 久久久久久国产精品免费免费 | 最近中文字幕2019高清免费| 国产精品久久久亚洲| 久草免费手机视频| 久久精品国产亚洲AV高清热| 国产成人yy免费视频| 精品日韩99亚洲的在线发布 | vvvv99日韩精品亚洲| eeuss免费天堂影院| 亚洲精品无码高潮喷水在线| 久久免费看少妇高潮V片特黄| 久久精品国产亚洲AV无码娇色 | 亚洲精品乱码久久久久66| 免费黄色电影在线观看| 亚洲精品不卡视频| 毛片免费视频播放| 国产精品亚洲专区在线播放| 精品国产亚洲男女在线线电影| 三级黄色片免费看| 亚洲国产成AV人天堂无码| 全免费a级毛片免费看无码| 高潮毛片无遮挡高清免费视频| 亚洲精品无码专区久久同性男| 在线成人精品国产区免费| 亚洲图片激情小说| 免费大黄网站在线看| h在线观看视频免费网站| 亚洲国产日韩综合久久精品| 日韩免费无码一区二区视频| 中文字幕无线码免费人妻| 亚洲福利电影在线观看| 四虎影视永久免费观看地址 | 精品久久久久久亚洲综合网| 国产aⅴ无码专区亚洲av| 免费观看黄网站在线播放| 国产精品免费观看视频| 国产91在线|亚洲| 国产成人亚洲精品91专区手机| 国产精品久久永久免费|