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

本文通过一个具体的示例,比较了JavaScript中for循环与each循环在处理DOM元素时的性能差异。实验结果显示,在选择特定选项的过程中,for循环的执行效率高于each循环。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值