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. </script>
  28. </head>
  29. <body>
  30. <form id="form1" runat="server">
  31. <div><select id="select_test">
  32. <option value='1'>111111</option>
  33. <option value='2'>222222</option>
  34. <option value='3'>333333</option>
  35. <option value='4'>444444</option>
  36. <option value='5'>5</option>
  37. <option value='6'>6</option>
  38. <option value='7'>7</option>
  39. <option value='8'>8</option>
  40. <option value='9'>9</option>
  41. <option value='10'>10</option>
  42. <option value='11'>11</option>
  43. <option value='12'>12</option>
  44. <option value='13'>13</option>
  45. <option value='14'>14</option>
  46. <option value='15'>15</option>
  47. <option value='16'>16</option>
  48. <option value='17'>17</option>
  49. <option value='18'>18</option>
  50. <option value='19'>19</option>
  51. <option value='20'>20</option>
  52. </select><input type="button" value="开始比较" onclick="getSelectLength();" /></div>
  53. <div>
  54. </form>
  55. </body>
  56. </html>

输入出入:

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

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

jquery的each和js原生for循环性能对比的更多相关文章

  1. jquery $(document).ready() 与js原生的window.onload的区别总结

    Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1.执行时间       ...

  2. 仿jQuery的siblings效果的js原生代码

    仿jQuery的siblings效果的js原生代码 <previousSibling> 属性返回选定节点的上一个同级节点(在相同树层级中的前一个节点). <nextSibling&g ...

  3. js原生的url操作函数,及使用方法。(附:下边还有jquery对url里的中文解码函数)

    js原生的url操作函数,完善的. /*****************************/ /* 动态修改url */ /*****************************/ var ...

  4. 图片轮播(左右切换)--JS原生和jQuery实现

    图片轮播(左右切换)--js原生和jquery实现 左右切换的做法基本步骤跟 上一篇文章  淡入淡出 类似,只不过修改了一些特定的部分 (1)首先是页面的结构部分 对于我这种左右切换式 1.首先是个外 ...

  5. 图片轮播(淡入淡出)--JS原生和jQuery实现

    图片轮播(淡入淡出)--js原生和jquery实现 图片轮播有很多种方式,这里采用其中的 淡入淡出形式 js原生和jQuery都可以实现,jquery因为封装了很多用法,所以用起来就简单许多,转换成j ...

  6. js原生 + jQuery实现页面滚动字幕

    js原生/jQuery实现页面滚动字幕效果 17:45:49 在新闻列表或者文章列表信息等页面中很容易要求实现字幕滚动的效果,以下为简单的实现页面中滚动字幕的效果 1.jQuery实现页面滚动字幕效果 ...

  7. JS原生Ajax&Jquery的Ajax技术&Json

    1.介绍Ajax Ajax = 异步 JavaScript 和 XML Ajax是一种创建快速动态网页的技术 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可以不用整个 ...

  8. 认识JQuery,JQuery的优势、语法、多库冲突、JS原生对象和JQuery对象之间相互转换和DOM操作,常用的方法

    (一)认识JQuery  JQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一套定义好的方法    JQuery的主旨:以更少的代码,实现更多的功能 (二)JQue ...

  9. 使用jQuery.makeArray() 将多种类型转换成JS原生Array

    jQuery.makeArray(obj)这个函数从名字上来看非常easy猜出它的用途:应该是用来将传入的对象转换成一个原生array 再看看官网上对它的解释:Convert an array-lik ...

随机推荐

  1. /etc/passwd 和 /etc/shadows 详解

    linux操作系统上的用户如果需要登录主机,当其输入用户名和密码之后: 首先在/etc/passwd文件中查找是否有你的账号,如果没有无法登录,如果有的话将该用户的UID和GID读出来,此外将此用户的 ...

  2. Java后台常用方法(更新中)

    String字符串 API文档地址:中文 英文 String类在java.lang包中,java使用String类创建字符串变量,字符串变量属于对象. String类对象创建后不能修改,String变 ...

  3. linux下端口占用

    1, netstat -tunlp|grep 1235 2,kill -9 18520

  4. ES6基础知识(async 函数)

    1.async 函数是什么?一句话,它就是 Generator 函数的语法糖. const fs = require('fs'); const readFile = function (fileNam ...

  5. ES6基础知识(Reflect)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. ubuntu 首次登陆设置root密码

    用过ubuntu的人都知道,ubuntu默认root密码是随机的,即每次开机都有一个新的root密码.我们可以在终端输入命令sudo passwd,然后输入当前用户的密码   给root用户设置密码 ...

  7. [cf1458C]Latin Square

    维护$n^{2}$个三元组$(x,y,z)$,每一个三元组描述$a_{x,y}=z$ 对于RLDU这四个操作,即将所有三元组的$x$或$y$执行$\pm 1$(模$n$意义下) 对于IC这两个操作,即 ...

  8. [luogu7831]Travelling Merchant

    考虑不断找到以下两种类型的边,并维护答案: 1.终点出度为0的边,那么此时即令$ans_{x}=\min(ans_{x},\max(r,ans_{y}-p))$​ 2.(在没有"终点出度为0 ...

  9. [luogu4466]和与积

    令$d=\gcd(i,j)$,$i'=\frac{i}{d}$,$j'=\frac{j}{d}$,则$(i',j')=1$,可得$(i'+j',i'j')=1$(假设有公因子$p$,必然有$p|i'或 ...

  10. [loj3313]序列

    定义$C_{i}$表示令$i,i+1,i+2,...$的位置减1的操作,定义$I_{i}$表示令$i,i+2,i+4,...$的位置减1的操作 结论1:一定存在一种最优解使得$\forall i$不同 ...