转自:http://www.jb51.net/article/36831.htm

性能优化遇到很多细节问题(for与each性能比较)记录下来分享给大家,希望对你有所帮助最近在做一个性能优化方面的工作,遇到很多细节问题,现在一一把遇到的问题记录下来分享给大家,废话就不多谢,我直接贴代码。 

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>for与each性能比较</title>
    <script src="../Cks/jquery-1.7.1.min.js" type="text/javascript"></script>
    <script type="text/javascript" language="javascript">
        function getSelectLength() {
            var time1 = new Date().getTime();
            var len = $("#select_test").find("option").length;
            var selectObj = $("#select_test");
            for (var i = 0; i < len; i++) {
                if (selectObj.get(0).options[i].text == "111111") {
                    selectObj.get(0).options[i].selected = true;
                    break;
                }
            }
            var time2 = new Date().getTime();
            alert("for循环执行时间:" + (time2 - time1));
            time1 = new Date().getTime();
            $("#select_test").find("option").each(function () {
                if ($(this).text() == "111111") {
                    $(this)[0].selected = true;
                }
            });
            time2 = new Date().getTime();
            alert("each循环执行时间:" + (time2 - time1));
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <select id="select_test">
                <option value='1'>111111</option>
                <option value='2'>222222</option>
                <option value='3'>333333</option>
                <option value='4'>444444</option>
                <option value='5'>5</option>
                <option value='6'>6</option>
                <option value='7'>7</option>
                <option value='8'>8</option>
                <option value='9'>9</option>
                <option value='10'>10</option>
                <option value='11'>11</option>
                <option value='12'>12</option>
                <option value='13'>13</option>
                <option value='14'>14</option>
                <option value='15'>15</option>
                <option value='16'>16</option>
                <option value='17'>17</option>
                <option value='18'>18</option>
                <option value='19'>19</option>
                <option value='20'>20</option>
            </select><input type="button" value="开始比较" onclick="getSelectLength();" />
        </div>
        <div>
    </form>
</body>
</html>
输入出入: 
for循环执行时间:1 
each循环执行时间:3 
两次结果直接说明了问题。 
详细出处参考:http://www.jb51.net/article/36831.htm

本文转载:CSDN博客