jquery的each和js原生for循环性能对比

[html] view plain copy
 
  1. <html xmlns="http://www.w3.org/1999/xhtml">  
  2. <head runat="server">  
  3.     <title>for与each性能比较</title>  
  4.     <script src="../Cks/jquery-1.7.1.min.js" type="text/javascript"></script>  
  5.     <script type="text/javascript" language="javascript">  
  6.         function getSelectLength() {  
  7.             var time1 = new Date().getTime();  
  8.             var len = $("#select_test").find("option").length;  
  9.             var selectObj = $("#select_test");  
  10.             for (var i = 0; i len; i++) {  
  11.                 if (selectObj.get(0).options[i].text == "111111") {  
  12.                     selectObj.get(0).options[i].selected = true;  
  13.                     break;  
  14.                 }  
  15.             }  
  16.             var time2 = new Date().getTime();  
  17.             alert("for循环执行时间:" + (time2 - time1));  
  18.             time1 = new Date().getTime();  
  19.             $("#select_test").find("option").each(function () {  
  20.                 if ($(this).text() == "111111") {  
  21.                     $(this)[0].selected = true;  
  22.                 }  
  23.             });  
  24.             time2 = new Date().getTime();  
  25.             alert("each循环执行时间:" + (time2 - time1));  
  26.   
  27.         }  
  28.     </script>  
  29. </head>  
  30. <body>  
  31.     <form id="form1" runat="server">  
  32.     <div><select id="select_test">  
  33.     <option value='1'>111111</option>  
  34.     <option value='2'>222222</option>  
  35.     <option value='3'>333333</option>  
  36.     <option value='4'>444444</option>  
  37.     <option value='5'>5</option>  
  38.     <option value='6'>6</option>  
  39.     <option value='7'>7</option>  
  40.     <option value='8'>8</option>  
  41.     <option value='9'>9</option>  
  42.     <option value='10'>10</option>  
  43.     <option value='11'>11</option>  
  44.     <option value='12'>12</option>  
  45.     <option value='13'>13</option>  
  46.     <option value='14'>14</option>  
  47.     <option value='15'>15</option>  
  48.     <option value='16'>16</option>  
  49.     <option value='17'>17</option>  
  50.     <option value='18'>18</option>  
  51.     <option value='19'>19</option>  
  52.     <option value='20'>20</option>  
  53.     </select><input type="button" value="开始比较" onclick="getSelectLength();" /></div>  
  54.     <div>  
  55.     </form>  
  56. </body>  
  57. </html>  

输入出入:

for循环执行时间:1
each循环执行时间:3

两次结果直接说明了问题。

原文地址:https://www.cnblogs.com/deepbreath/p/5168279.html