本文實例講述了jQuery中each和js中forEach的區別。分享給大家供大家參考,具體如下:
<script> $(function(){ // 3.1遍歷數組 var arr = [1, 3, 5, 7, 9]; // 3.1.1通過原生方法遍歷數組 // 第一個回調函數參數是遍歷到的元素 // 第二個回調函數參數是當前遍歷的索引 // 返回值:沒有返回值 var res = arr.forEach(function(ele, idx){ console.log(idx, ele); }); console.log(res); // 3.1.2通過jQuery靜態方法遍歷數組 // 第一個回調函數參數是當前遍歷的索引 // 第二個回調函數參數是遍歷到的元素 // 返回值:被遍歷的數組 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靜態方法遍歷對象 $.each(obj,function(key, value){ console.log(key, value); }); });</script>
總結:
1.在遍歷數組時:
回調函數中參數的位置不一樣,forEach中為第一個參數為ele,第二個為index。each中第一個為index,第二個為ele;
回調函數中是否有返回值,forEach中沒有返回值,each有返回值,返回被遍歷的數組
2.遍歷對象
forEach不能遍歷對象,可以使用for in;
而each可以通過jq的講臺方法來遍歷,即$.each(obj,function(key,value){})
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.VeVB.COm/code/HtmlJsRun測試上述代碼運行效果。
PS:這里再為大家推薦一款JS數組遍歷方式分析對比工具供大家參考:
在線JS常見遍歷方式性能分析比較工具:http://tools.VeVB.COm/aideddesign/js_bianli
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數組操作技巧總結》、《JavaScript遍歷算法與技巧總結》、《javascript面向對象入門教程》、《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答