本文實(shí)例講述了jQuery中each和js中forEach的區(qū)別。分享給大家供大家參考,具體如下:
<script> $(function(){ // 3.1遍歷數(shù)組 var arr = [1, 3, 5, 7, 9]; // 3.1.1通過原生方法遍歷數(shù)組 // 第一個(gè)回調(diào)函數(shù)參數(shù)是遍歷到的元素 // 第二個(gè)回調(diào)函數(shù)參數(shù)是當(dāng)前遍歷的索引 // 返回值:沒有返回值 var res = arr.forEach(function(ele, idx){ console.log(idx, ele); }); console.log(res); // 3.1.2通過jQuery靜態(tài)方法遍歷數(shù)組 // 第一個(gè)回調(diào)函數(shù)參數(shù)是當(dāng)前遍歷的索引 // 第二個(gè)回調(diào)函數(shù)參數(shù)是遍歷到的元素 // 返回值:被遍歷的數(shù)組 var $res2 = $.each(arr, function(idx, ele){ console.log(idx, ele); }); console.log($res2); // 3.2遍歷對象 var obj = {name:"lnj",age:"33",gender:"male"}; // 3.2.1 js對象沒有forEach方法,所以通過for in方法遍歷對象 for(var key in obj){ console.log(key, obj[key]); } // 3.2.2 通過jQuery靜態(tài)方法遍歷對象 $.each(obj,function(key, value){ console.log(key, value); }); }); </script>
總結(jié):
1.在遍歷數(shù)組時(shí):
回調(diào)函數(shù)中參數(shù)的位置不一樣,forEach中為第一個(gè)參數(shù)為ele,第二個(gè)為index。each中第一個(gè)為index,第二個(gè)為ele;
回調(diào)函數(shù)中是否有返回值,forEach中沒有返回值,each有返回值,返回被遍歷的數(shù)組
2.遍歷對象
forEach不能遍歷對象,可以使用for in;
而each可以通過jq的講臺(tái)方法來遍歷,即$.each(obj,function(key,value){})
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行效果。
PS:這里再為大家推薦一款JS數(shù)組遍歷方式分析對比工具供大家參考:
在線JS常見遍歷方式性能分析比較工具:http://tools.jb51.net/aideddesign/js_bianli
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《javascript面向?qū)ο笕腴T教程》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com